DroidPluginTeam / DroidPluginTeam/DroidPlugin

PluginClassLoader当apk直接调用PathClassLoader转换时报错bug

Open
#208 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
7k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

修改如下:
public class PluginClassLoader extends PathClassLoader {

public PluginClassLoader(String apkfile, String optimizedDirectory, String libraryPath, ClassLoader systemClassLoader) {
super(apkfile, libraryPath, systemClassLoader);

```
//获取pathList字段
try
{

//改写PathClassLoader的内容为DexClassLoader,这样客户端就可以使用PathClassLoader转换了
Class clazzPathLoader=Class.forName("dalvik.system.BaseDexClassLoader");
Class clazzPathList=Class.forName("dalvik.system.DexPathList");
Constructor ct = clazzPathList.getConstructor(ClassLoader.class,String.class,String.class,File.class);
Object oo=ct.newInstance(this,apkfile,libraryPath,new File(optimizedDirectory));
Field field=clazzPathLoader.getDeclaredField("pathList");
field.setAccessible(true);
field.set(this,oo);

}
catch(Exception ex)
{

}
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.