其他apk的Android加载活动并启动该活动

时间:2018-02-23 17:18:48

标签: android dexclassloader

我有一个简单的android apk,它有一个活动,其他类有简单的UI(两个按钮,一个文本布局),我生成了一个apk,现在我想加载 在新的Android应用程序中使用dex类加载器,并从新的应用程序启动apk的活动。

我写了一个简单的类加载器,但我不知道如何启动该apk的活动,下面是为加载类而编写的代码,

请告诉我 1.如何启动apk的活动? 2.如何加载所有类的apk?

final String apkFile =Environment.getExternalStorageDirectory().getAbsolutePath()+"/Download/Offloadme.apk";
String activtyName= "com.example.test.MainActivity";

final File optimizedDexOutputPath = getDir("outdex", 0);

DexClassLoader dLoader = new DexClassLoader(apkFile,optimizedDexOutputPath.getAbsolutePath(),
        null,ClassLoader.getSystemClassLoader().getParent());

try {
     //How to load all the class of that apk
     // How to call the activity


} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InstantiationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (NoSuchMethodException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

0 个答案:

没有答案