Мне нужно приложение Android, которое должно иметь возможность извлекать данные из Интернета (возможно, .apk или .jar) и запускать «что-то» из него.Приложение для Android, использующее внешний код/приложение?
Если это «тривиальный» класс, проблем нет. Это мой погрузчик
package com.m31.android.urlload;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.ClassLoader;
import java.net.URL;
import dalvik.system.PathClassLoader;
import dalvik.system.DexClassLoader;
public class Loader extends ClassLoader {
public Loader() throws IOException {
super(Loader.class.getClassLoader());
}
public Class loadClass(String className) throws ClassNotFoundException {
return findClass(className);
}
private String fetch_package(String url) throws IOException {
BufferedInputStream in = new BufferedInputStream(new URL(url).openStream());
FileOutputStream fos = new FileOutputStream("/mnt/sdcard/_plugins/plugin1.jar");
BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
byte data[] = new byte[1024];
int count;
while((count = in.read(data,0,1024)) > 0) {
bout.write(data,0,count);
}
bout.close();
in.close();
return "/mnt/sdcard/_plugins/plugin1.jar";
}
public Class findMyClass(String className, String url) throws IOException, ClassNotFoundException {
String path = fetch_package(url);
DexClassLoader pcl = new DexClassLoader(path, "/mnt/sdcard/_dex/", null, this);
return pcl.loadClass(className);
}
}
Проблема заключается в том, что код, который я хочу, чтобы выполнить внешний вид очень похож на приложение, которое должно иметь «простой» вид и некоторое взаимодействие на нем.
Я не могу вызвать метод onCreate моего загруженного класса.
Я предполагаю, что я три улицы:
- Я ищу способ, который молча установить приложение, а затем запускает его (? Это возможно);
- С вашей помощью я понимаю, как инициализировать второе «приложение» внутри моего собственного (с его собственным R и всем остальным);
- Я пишу свою основную программу для получения данных из Интернета и построения страниц динамически.
Итак, мне определенно нужна ваша помощь!
, то как работает приложение devAppsDirect? https://play.google.com/store/apps/details?id=com.inappsquared.devappsdirect. Я имею в виду, я знаю, что он не устанавливает apks, но он работает очень хорошо, и кажется, что они существуют внутри внутреннего хранилища приложения. –