600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > MTK Android12 内置APK三方应用问题小结

MTK Android12 内置APK三方应用问题小结

时间:2021-09-20 07:07:03

相关推荐

MTK Android12 内置APK三方应用问题小结

#Android.mk配置的问题

error: mismatch in the tags between the build system and the manifest: - required libraries in build system: [] vs. in the manifest: [] - optional libraries in build system: [] vs. in the manifest: [androidx.window.extensions, androidx.window.sidecar]

你可能会遇到类似问题:其实Android 12 对 应用预装 会强制进行检查,所以当应用有这个引用,但是mk配置里没做相关配置,就会出现上面的问题。

解决办法:

第一种:忽略检查

LOCAL_ENFORCE_USES_LIBRARIES := false

指明使用的库,应用申明的都要写,中间用空格隔开

LOCAL_OPTIONAL_USES_LIBRARIES := org.apache.http.legacy androidx.window.extensions

FAQ:

关于APP<uses-library> 的使用情况查看:使用aapt 工具,可以查看到使用情况

aapt dump badging xxx.apk

#安装包(分裂包/分离包)的问题

对于Google的以及一些上架GooglePlay的应用,如果使用了 Android APP bundle 方式打包的,那么获取到的安装包基本都是那种分裂包/分离包,即原来一个完整的apk,将里面的适配UI资源,语言适配,so包适配等都单独打成一个apk包,从而GooglePlay在安装时,会根据设备的情况进行选装这样子,下面一张Google Docs 的分裂包/分离包压缩包,感受下:

所以,对于单APK的传统配置,这种分离包,且有依赖关系的,无法配置,所以一个比较可行的解决办法就是,寻找老一点的版本,没有做分裂包/分离包支持的版本,像这个网站就是个不错的选择:

/

类似这样GooglePlay App的镜像下载网站,下载下来的单独APK文件,也不是绝对完全的,因为有的较新的版本,虽然是一个整合的完整的版本,但是却有签名缺失的情况

这种情况 adb install 可以安装,但是系统代码内预置却无法安装

补充:

查看apk 签名证书的信息:利用keytool 工具

keytool -printcert -jarfile …/…/xxxxx.apk

执行以上指令就会显示一些apk 的签名信息,当然keytool工具依赖 java环境

#一些谷歌开发的三方APP 谷歌无法登录的问题

一些谷歌开发的APP,同时需要谷歌登录的APP,你可能会出现登录谷歌服务失败的问题,如果已经排除了网络的问题

那么出现的问题可能是安装包谷歌签名出了问题

apk包本身谷歌签名问题

通过keytool -printcert -jarfile …/…/xxxxx.apk,查看apk的签名,一般谷歌签名是这些信息:

所有者: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US

发布者: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US

如果包本身签名没问题,那么就检查Android.mk的签名配置

正确 -->LOCAL_CERTIFICATE := PRESIGNED使用包的自己签名

错误 -->LOCAL_CERTIFICATE := platform使用平台签名,也即会覆盖掉原apk包的签名

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。