Android- Using DexClassLoader to load apk file

后端 未结 3 1387
礼貌的吻别
礼貌的吻别 2020-12-02 12:38

I\'ve hit a bit of a wall. Any help would be appreciated. I have an app that I want to use DexClassLoader to load another apk file.

Here is my code:

         


        
3条回答
  •  自闭症患者
    2020-12-02 13:19

    Try using Android's PathClassLoader:

        String packagePath = "com.mypackage";
        String classPath = "com.mypackage.ExternalClass";
    
        String apkName = null;
        try {
            apkName = getPackageManager().getApplicationInfo(packagePath,0).sourceDir;
        } catch (PackageManager.NameNotFoundException e) {
            // catch this
        }
    
        // add path to apk that contains classes you wish to load
        String extraApkPath = apkName + ":/path/to/extraLib.apk" 
    
        PathClassLoader pathClassLoader = new dalvik.system.PathClassLoader(
                apkName,
                ClassLoader.getSystemClassLoader());
    
        try {
            Class handler = Class.forName(classPath, true, pathClassLoader);
        } catch (ClassNotFoundException e) {
            // catch this
        }
    

提交回复
热议问题