我的项目中需要使用多渠道打包。
build.gradle中使用了applicationIdSuffix,打出来的包每个包名都不一样。
但是运行添加过applicationIdSuffix的apk,就是重定义过包名的apk。
启动不成功。报了一大堆error。调试后发现。
PdrR的getInt方法中有断代码使用了
Class.forName(a + ".R$" + var0)
其中a是在init方法中被赋值的。
a = context.getPackageName();
打包后的apk,R文件都在defaultConfig.applicationId的包中。
比如
defaultConfig.applicationId = a.b.c
productFlavors{
test{
applicationIdSuffix ".test"
}
}
最终生成的包为a.b.c.test,但是r文件在a.b.c.R导致一堆java.lang.ClassNotFoundException错误。
请我我要怎么配置才能成功进行多渠道打包
1 个回复
kid2682 (作者)
现在用了很傻的办法,复制了源码,修改了init方法。
然后RInformation继承我MyPdrR