MTK平台 Android9 预置apk找不到so

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MTK平台 Android9 预置apk找不到so相关的知识,希望对你有一定的参考价值。

参考技术A

背景
我们有一款自定义的launcher app,用androidstudio直接run是可以正常运行的,在预编译到system/priv-app目录下时,始终找不到so文件。
1、最简单的方法,将so预置到system/lib64下,仍然提示找不到so
2、在app的目录下手动创建lib连接指向system/lib64中的so,这样so可以找到,但是会有其他一些错误,但是明明在AS中直接run是可以正常运行的
3、对比系统原有预置app的Android.mk文件,发现预置app的mk文件的签名跟我的不一样,
我的app用的签名是

系统系统预置app的签名是

但是感觉找不到so这种问题不应该是签名导致的,实在没办法了试了一下,自己手动系统签名后,再预置到系统里,问题竟然解决了……
还请知道缘由的大神不吝赐教
下面附上预置apk的完整mk文件

Android ------ apk签名时出现找不到证书链

在前面 开发中遇到了一个签名问题,魅族平台签名上线的时候,需要对应用进行重新签名,遇到了一个问题

如图

平台签名流程

开发者应用认领说明

Flyme应用中心应用认领,采用Android的apk安装包签名机制来完成。如果你不清楚签名是什么,请联系开发人员协助您。

在Android平台发布应用程序之前,必须经过一个签名流程。现在您的密钥就是您的身份证明,您所要做的就是使用您的密钥,将我们提供给您的一款未经过签名的apk包签名后,发送给我们。

jarsigner简单使用说明

jarsigner -verbose -keystore ~/Workspace/mykeystore -signedjar ./meizuemptyapk-release-signed.apk ./meizuemptyapk-release-unsigned.apk meizu

给apk包签名的方式有很多种,我们推荐您使用JDK自带的jarsigner工具来完成签名。jarsigner工具的命令格式是:

# jarsigner的命令格式

jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称]

#jarsigner的参数说明

-keystore 参数指定您的私钥的绝对路径,例如:c:\\mykeystore
-signedjar 参数指定签名后apk文件存放绝对的路径,例如 c:\\signed.apk
[未签名的文件路径] 指定要签名apk文件的绝对路径,也就是您从我们这里下载到的,例如 c:\\meizuemptyapk-release-unsigned.apk
[您的证书名称] 是指您创建密钥时,您设置的证书名称

Linux和Mac OS X平台的签名方法:

  1. 打开 Terminal 程序
  2. 进入从魅族开放平台下载到的sign_verification.zip解压后的目录,例如cd ~/Downloads/sign_verification
  3. 使用jarsigner签名

命令举例示例:

jarsigner -verbose -keystore ~/Workspace/mykeystore -signedjar ./meizuemptyapk-release-signed.apk ./meizuemptyapk-release-unsigned.apk meizu

这样就完成了,将签名后的包上传到魅族开放平台应用认领签名验证页面.

Windows平台签名方法:

  1. 打开 命令提示符 程序
  2. 进入从魅族开放平台下载到的sign_verification解压后的目录,例如cd C:\\Downloads\\sign_verification
  3. 使用jarsigner签名

命令举例示例:

jarsigner -verbose -keystore C:\\Downloads\\sign_verification\\mykeystore -signedjar meizuemptyapk-release-signed.apk meizuemptyapk-release-unsigned.apk meizu

这样就完成了,将签名后的包上传到魅族开放平台应用认领签名验证页面.

jarsigner -verbose -keystore keystore文件 -signedjar

签名以后的apk名称 要签名的apk名称  keystore中的别名

解决:

最后应该写的是keystore中的别名而不是keystore文件

以上是关于MTK平台 Android9 预置apk找不到so的主要内容,如果未能解决你的问题,请参考以下文章

预置第三方apk到MTK项目相关问题总结

团队环境搭建:MTK平台,Android 9.0内销TV编译服务器配置

已解决Apk签名后报so找不到

已解决Apk签名后报so找不到

mtk预装apk 方案公司内置预装apk

MTK 平台分区添加参考