簡體   English   中英

可以從其apk運行應用程序

[英]It is possible to run an application from its apk

你們好嗎? 我希望,我的小問題,或更確切地說是混亂,正如我在問題中已經提到的那樣,是否可以通過已經提到的某些方法或您知道的其他方法從apk運行應用程序。

為什么我會懷疑? 我的問題是為什么我在研究參考文獻中看到有關已經提到的方法和我已經在我的代碼中實現但實際上卻沒有生效的代碼卻沒有做的事情是:

 final String apkFile ="storage/sdcard0/Mostrador_1.0.apk"; String className = "com.example.mostrador"; String methodToInvoke = "add"; 
final File optimizedDexOutputPath = getDir("outdex", 0);

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

try {
    Class<?> loadedClass = dLoader.loadClass(className);
    Object obj = (Object)loadedClass.newInstance();
    int x =5;
    int y=6;
    Method m = loadedClass.getMethod(methodToInvoke, int.class, int.class);
    int z = (Integer) m.invoke(obj, y, x);              
    System.out.println("The sum of "+x+" and "+"y="+z);

} 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();
}

來自問題: Android-使用DexClassLoader加載apk文件

我為什么想知道? 原因是我想在我的應用程序中實現無需下載就可以使用輔助應用程序的功能,這些將由用戶選擇。

如果您知道要討論的問題或主題,請發表評論。

您可以在github上研究這些開源項目。 它們是在運行時動態加載apk的不同工具。

1. AndroidDynamicLoader

2. 動態負載-apk

3. DroidPlugin

4.動態APK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM