关于MTK平台第三方APK的定制方法
来源:互联网 发布:预测算法java代码实现 编辑:程序博客网 时间:2024/06/08 18:06
MTK平台Android项目APK预置方案
项目开发中,通常需要向系统中预置一些APK,这里简单介绍一下MTK平台预置APK的方法。
需要预置的apk可以放置在目录:vendor/mediate/${Project}/artifacts/out/target/product/${Project}下,
大致可以分成两种情况:
1. 用户不可卸载的:例如中兴提供的一些APK
相应的apk直接放在目录:system/app下即可。
注:需要将apk中的动态库手动提取出来,并置于system/lib下面。
2. 用户可以卸载:
相应的apk直接放在该目录下:data/app,这样用户就可以手动进行卸载了。
还有一种情况,当用户卸载该APK后,恢复出厂设置还可以还原出来:
MTK平台已经支持该特性,具体操作方法如下:
需要版本在ALPS.GB.TDFD.MP.V1.7和ALPS.GB.FDD2.MP.V4.7之后,如果低于此版本,可向MTK申请patch:ALPS00092543。
² 在mediatek/config/${Project}/ProjectConfig.mk中修改:
MTK_SPECIAL_FACTORY_RESE=yes
² 在system下新建目录appbackup,将需要恢复的apk拷贝到这个目录。
² 在data/app目录下创建一个隐藏的空文件,命名为.keep_list
² 在system/app目录下创建一个隐藏文件,命名为.restore_list,并写入类似的语句:
/system/appbackup/XXX.apk,即需要恢复的apk的路径。
这样,当卸载了/data/app下的apk之后,再恢复出厂设置,系统会从.restore_list文件中读取apk的名字,然后从/system/appbackup目录下把相应的apk重新拷贝的/data/app下,从而恢复用户已经卸载的apk。
注:需要将apk中的动态库手动提取出来,并置于system/lib下面。
对于以上方法,MTK都有详细的文档说明,可以按照相关文档进行操作。
WIND第三方APK预置方案
基于软件版本的管理问题(通常项目过程中,会先后进入入库阶段和量产阶段,这两个阶段的APK通常不是完全相同的)。因此,在代码中,我们分非量产和量产两个目录来管理所有的APK信息,二者分别对应非量产版本和量产版本,并且在ProjectConfig.mk中添加了一个量产宏MTK_ENABLE_MASS_SUPPORT来控这些APK的拷贝:
从上面的描述中,我们可以得出APK的预制方法:
1. 中移适配的APK资源,分别放在mass和unmass目录下;相关的so库分别放在对应的system/lib下
2. 中兴提供的入库合入的APK资源,分别放在mass和unmass目录之下;相关的so库分别放在对应的system/lib下
3. 中兴提供的量产阶段的APK资源,放在mass目录下;相关的so库分别放在对应的system/lib下即可
重要参考:apk里的so库如何摆放
在android APK的根目录有一个libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a两个文件夹,我们的c代码编译成的本地库(各种.so)就会放在这两个文件夹其中的一个。
那armeabi-v7a 与armeabi有什么区别,该将so库放哪个文件夹?
armeabi和armeabi-v7a是表示cpu的类型,我们知道一般的手机或平板都是用arm的cpu,不同的cpu的特性不一样:
armeabi就是针对普通的或旧的armcpu
armeabi-v7a是针对有浮点运算或高级扩展功能的arm cpu
这两个目录都可以放,具体要看开发的apk的定位,如果想将apk发布到网络上供不同的机器使用,那么建议用armeabi(兼容性好),如果只是自己平台上用,则可以用armeabi-v7a
- 关于MTK平台第三方APK的定制方法
- MTK 平台Android6.0 系统集成第三方apk 的解决策略
- mtk 如何增加第三方apk
- android 预装第三方apk的方法
- android 预装第三方apk的方法
- 预制第三方APK, 库的方法
- MTK 11A 集成第三方应用的方法
- 预置第三方apk到MTK项目相关问题总结
- 预置第三方apk到MTK项目相关问题总结
- 预置第三方apk到MTK项目相关问题总结
- 关于第三方apk如何禁用systemUI的statusbar
- 给第三方apk重新签名的方法
- 刷新APK调用第三方库的一个好方法
- MTK平台定制化
- mtk平台android隐藏第三方不可访问的rom空间
- 关于mtk GPIO口的定制
- 关于mtk GPIO口的定制
- 关于mtk GPIO口的定制
- Azure WebRole 部署后403错误
- Mysql数据库名和表名的大小写敏感性问题
- 关于DirectX高级动画书中使用的9.0bsdk的升级说明
- IOS开发中非正式协议传值
- sdjzuoj——1010平均绩点
- 关于MTK平台第三方APK的定制方法
- ios XML解析
- WPF判断scrollbar是否滚动了最下面
- win7配置MySQL的ODBC数据源出错解决办法
- linux常用命令
- poj3983 算24点
- HTTP就绪状态和HTTP状态码
- 搜索(A - Lake Counting)
- 关于DirectX高级动画书中使用的9.0bsdk的升级说明 cXParser类(dx9.0c sdk vs2003编译运行通过)