我使用 gradle 来构建应用程序。我在我的调试版本的 packageName 中添加了一个后缀。如下:
buildTypes {
debug {
packageNameSuffix ".debug"
}
}
但是,我使用的其中一个库不能用于此。
我认为 lib 使用这样的代码来获取 R 类:
drawable = Class.forName(this.context.getPackageName() + ".R$drawable");
它抛出 java.lang.IllegalArgumentException: ResClass is not initialized。
R 的正确包是 com.xxx.R$drawable。由于我在包中添加了后缀,因此当 lib 想要使用反射获取类时,它会获取 com.xxx.debug.R$drawable。
有什么办法可以解决吗?顺便说一句,我无法修改 lib 的代码,因为它是一个 jar 文件。