DroidPluginTeam / DroidPluginTeam/DroidPlugin
MultiDex & Instant Run could not load class
- Dominant language
- Java
- Stars
- 7k
- Forks
- 2.5k
- PR merge metrics
- No merged PRs in 30d
Description
如果某个app是使用Instant Run的方式来启动,那么在onCreateApplication的时候会发生class not found的error。根据Instant Run的启动方式,它会去构建BootstrapApplication
其中会使用
com.android.tools.fd.runtime.Paths;
com.android.tools.fd.runtime.AppInfo;
而在编译的过程中,
public class AppInfo {
public static String applicationId = "XXXXXX";
public static String applicationClass = "XXXXXX";
}
public final class Paths {
public static String getMainApkDataDirectory(String applicationId) {
return "/data/data/" + applicationId;
}
}
这里会去访问到/data/data/XXXXX/目录下的class dex文件,而不是Plugin构建的那个data目录。
看起来可以通过hook AppInfo的applicationClass和applicationId字段解决问题,但似乎不是最好的办法。
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.