APK 文件中有一个interface IA
类。我创建了一个包含 IA 的 jar implementation MA
。罐子有一个Global class
和B class
。jar 是使用数据目录中的 Dexclassloader 动态加载的。
interface IA {
test();
}
class Global {
IA instance; //refer to MA instance.
}
class B {
....
instance.test() ; // throw NoSuchMethodError
....
}
但是通过反射调用实例的测试方法是可以的。
为什么?当然,我不熟悉 Classloader 或 DexClassloader 的一些原理。有人可以为我解释吗?谢谢