黄大大12
黄大大12
  • 发布:2019-03-14 16:22
  • 更新:2019-04-09 16:58
  • 阅读:3617

android 多渠道打包白屏问题的解决

分类:uni-app

多渠道打包,当applicationId ,与包名不一致时,Uni-app会出现白屏问题
原因,PdrR 不能引用到 包资源文件
解决方案:
1、在工程 新建包io.dcloud ,创建PdrR.java
2、复制源码到创建的java文件里面,修改 init()方法

public static void init(Context var0) {
if (var0 != null) {
a = " ";//你的包名,Androidmanifest里的包名
}
}

3、Rebuild project 一下,会报错,因为同时存在两个PdrR.java文件(忽略报的警告)
4、去app/build/intermediates/javac/ 你的app包名/ 目录下找到 编译生成的PdrR.class文件
5、用压缩器打开5plus.aar 包,打开里面的classes.jar,把自己生成的PdrR.class 进行替换
直接用解压文件打开,然后找到原先的PdrR.class删除,然后复制进去jar包里面即可
6、重新导入修改的aar包

1 关注 分享
1***@qq.com

要回复文章请先登录注册

黄大大12

黄大大12 (作者)

回复 sdk怎么设计 :
android studio 菜单栏=》project=》 rebuild project 然后到上面那个目录里面找,就已经编译生成了
2019-04-09 16:58
1***@qq.com

1***@qq.com

我吧
2019-04-04 22:13
sdk怎么设计

sdk怎么设计

把自己生成的PdrR.class 进行替换 这个怎么生成?
2019-04-04 20:37
sdk怎么设计

sdk怎么设计

妈的 PdrR 我连反射都用了还是被init覆盖掉
2019-04-04 20:33
2***@qq.com

2***@qq.com

测试
2019-03-14 16:41
黄大大12

黄大大12 (作者)

Error: Program type already present: io.dcloud.PdrR 的报错可以直接忽略
2019-03-14 16:32
黄大大12

黄大大12 (作者)

想问一下官方人员,这样修改应该不会带来什么其他问题吧
2019-03-14 16:25