首先。如果适配安卓12的系统,调用的sdk是31的话。可能需要进行适配。出现安装失败22的,有可能是因为activity或者receiver,service里面没有加上android:exported="false"这个字段。注意在launcheractivity里面一定要设置android:exported为true。这个是外部引用的意思。如果在launcheractivity里面没有设置为true。那么APP图标点击就会出现未安装该应用程序。如果出现安装失败-127的话。是因为你的manifest里面声明的权限重复了。比如声明了两个或者两个以上的<uses-permission android:name="android.permission.INTERNET" />。只需要把重复的删掉,只保留一个就可以解决这个问题。如果有用,请点赞。
*更新补充
/
最近把targetsdk版本号升级到了31。然后适配12的时候,又出现安装失败。需要在manifest里面添加一句代码。
提示PackageInstallObserver error_msg:-127: Package com.xxx.gating attempting to declare permission com.xxx.gating.andpermission.bridge in non-existing group com.erling.xxx.andpermission
需要在manifest里面添加一句代码方可解决。
<permission-group android:name="${applicationId}.andpermission"/>
如果有用,请点赞。
/
*更新补充
/
今天在适配另一个项目的时候,一直出现安装失败-22。排查了也没发现问题。这边的话,我的解决方法是安装APK的时候,连接AS。看log。
然后在log里面按ctrl F进行查找,查找自己的包名,然后就可以看到为什么会安装失败的log。在这里可以看到是个推的pushreceiver没有添加exported。所以更新一下个推的SDK的版本号就可以了。(其他的第三方SDK很多也会出现没有exported字段而报错)。反正在log里面,进行排查。
网友评论