签名apk 安装失败,Failure retrieving text 0x7f0f002e in package com.cloudmind.vegarena android.content.

阐述问题

 

1.签名apk,在小米盒子4(6.0.1)上安装的时候,显示安装失败,在自己的手机上安装一切正常。

ok,好,adb 连接上盒子,打印一下看看日志信息。(adb 连接过程就不说了)很顺利拿到了日志。

解决路程

11-10 10:13:50.244 ? W/ResourceType: No known package when getting value for resource number 0x7f0f002e
11-10 10:13:50.244 ? W/PackageManager: Failure retrieving text 0x7f0f002e in package com.cloud.vega
    android.content.res.Resources$NotFoundException: String resource ID #0x7f0f002e
        at android.content.res.Resources.getText(Resources.java:312)
        at android.app.ApplicationPackageManager.getText(ApplicationPackageManager.java:1287)
        at android.content.pm.PackageItemInfo.loadLabel(PackageItemInfo.java:131)
        at com.android.packageinstaller.ui.InstallAppProgress$a.packageInstalled(Unknown Source)
        at android.content.pm.PackageManager$LegacyPackageInstallObserver.onPackageInstalled(PackageManager.java:4689)
        at android.app.PackageInstallObserver$1.onPackageInstalled(PackageInstallObserver.java:34)
        at android.content.pm.IPackageInstallObserver2$Stub.onTransact(IPackageInstallObserver2.java:79)
        at android.os.Binder.execTransact(Binder.java:455)

从日志上看,是因为找不到  resource ID #0x7f0f002e  ,那就去看看R文件里这个id,是那个变量

 

 这不就是应用名字么,它怎么会用问题呢,有点怀疑,先试着改一下名字看看,String 文件,找到app_name, 修改为 app_name_world, 再次打包,安装,还是安装失败,那就可以确定,不是应用名的问题。突然脑子 闪过一个想法,adb连着设备,那就直接run 一下看看能不能装上,,,结果还就安装成功了。。。。这样一看,那问题就明确了,debug 包能安装,签名包安装失败。那就剩签名与不签名的问题了。

然后就找到了一篇文章, 这篇博客,让我解决了问题。签名apk安装失败,都是signature version惹的祸_MingHuang2017的博客-CSDN博客

打签名包的时候你有注意到这个地方吗,V1,V2,打包之前没有想过区别是什么,就直接勾选 V2。正是这个举动造就了此次的错误。

大概的原因是:

v2是android7.0引入的一个签名机制,相比v1使得apk更安全及在安装时速度更快,但有可能会引起问题,具体可能会遇到什么问题并没有说,所以这个v2签名机制并不是强制性的,原文说如果不能正确构建则可以不用v2签名,只用v1签名。

如果不勾选V1,那么就会导致7.0一下版本的设备应用安装失败
勾选上V1,V2,重新打包,安装成功。

开心之际回想下刚触摸到bug  的时候,好像被日志误导了,不理解为什么会提示应用名app_name 找不到呢,,,待会再去想想,先晒一下安装成功的界面。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值