MTK平台Android项目APK预置方案
项目开发中,通常需要向系统中预置一些APK,这里简单介绍一下MTK平台预置APK的方法。
需要预置的apk可以放置在目录:vendor/mediate/${Project}/artifacts/out/target/product/${Project}下,
大致可以分成两种情况:
- 用户不可卸载的:
相应的apk直接放在目录:system/app下即可。
注:需要将apk中的动态库手动提取出来,并置于system/lib下面。
- 用户可以卸载:
相应的apk直接放在该目录下:data/app,这样用户就可以手动进行卸载了。
- 还有一种情况,当用户卸载该APK后,恢复出厂设置还可以还原出来:
MTK平台已经支持该特性,具体操作方法如下:
² 在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信息,二者分别对应非量产版本和量产版本,并且在ProjectConfig.mk中添加了一个量产宏MTK_ENABLE_MASS_SUPPORT来控这些APK的拷贝:

图表 1 量产宏的定义
从上面的描述中,我们可以得出APK的预制方法:
- 中移适配的APK资源,分别放在mass和unmass目录下;相关的so库分别放在对应的system/lib下
- 中兴提供的入库合入的APK资源,分别放在mass和unmass目录之下;相关的so库分别放在对应的system/lib下
- 中兴提供的量产阶段的APK资源,放在mass目录下;相关的so库分别放在对应的system/lib下即可
MTK平台Android项目APK预置方案的更多相关文章
- 关于MTK平台SIM-ME Lock的配置方案
针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相 ...
- MTK平台Android中常用的路径
开机Logo的路径: bootable\bootloader\lk\dev\logo 开机Logo图片分辨率路径: device\rq\rq6735_35gt_b_l1\ProjectConfig.m ...
- eclipse将android项目生成apk并且给apk签名
转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...
- 第07讲- Android项目的打包apk
第07讲Android项目的打包apk 方法一:在工作目录bin文件夹下有一个与项目同名的apk文件 (最懒惰的方式,不推荐,不安全,不利于版本更新,只有在开发模式时使用) 方法二:使用key方式 签 ...
- [转] Ant 编译 Android 项目为 Apk 实战, 常见问题解决
补充,自行安装Ant, 配置ant环境变量, 在android 项目 根目录下使用 android update project 可以自动生成 build.xml 和 local.peoperties ...
- 怎样预置Android 手机 APK
预制APK有下面4种情况: 1, 怎样将带源代码的 APK 预置进系统? 2, 怎样将无源代码的APK预置进系统? 3, 怎样预置APK使得用户能够卸载,恢复出厂设置时不能恢复? 4, 怎样预置APK ...
- (转)在eclipse中将android项目生成apk并且给apk签名
转:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作目 ...
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...
- IDEA运行android项目一直是同一个apk
1.IDEA运行android项目时不像eclipse和android studio那样直接运行,IDEA需要设置Artifacts,这样每次运行的时候它才能重新编译,以下附上步骤! 这样就可以了.
随机推荐
- Unity3D脚本使用:Random
实例: 为集合变量赋值,并运行,点击按钮,运行结果如图
- LVM
LVM (简体中文) pvdisplay -v -m命令查看物理分段 Create logical volume from another LV free space PVMOVE(8)
- ES 6 : let与const
1.let命令 [ 基本用法 ] let命令的用法与var类似,用于声明一个变量,但是let声明的变量只能在let所在的代码块内有效: 上述代码块中使用let和var声明了两个变量.然后在代码块之外调 ...
- google 技巧
inurl: 用于搜索网页上包含的URL. 这个语法对寻找网页上的搜索,帮助之类的很有用. intext: 只搜索网页部分中包含的文字(也就是忽略了标题,URL等的文字). site: 可以限制你搜索 ...
- 如何通过subId来获取phoneId?
androidL中使用一张数据表来保存sim卡信息:telephony.db中有一张记录SIM卡信息的表,siminfo: CREATE TABLE siminfo(_id INTEGER PRIMA ...
- ubuntu开放防火墙端口
root@jbxue:$ sudo ufw enable Firewall started and enabled on system startup root@jbxue:$ sudo ufw ...
- 手工杀毒辅助软件(PC Hunter) V1.51 免费绿色版
软件名称: 手工杀毒辅助软件(PC Hunter) 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 4.7MB 图片预览: 软件简介: PC Hunter是 ...
- Unix时间戳转换成C#中的DateTime
先交代一下应用场景:我们的软件需要做一个简单的有效期验证保护.初始的想法是 在本地将安装时间.启动时间.当前时间做比较,为了防止记录被修改,记录在注册表的特殊的地方并加密. 我使用了.net自带的rs ...
- JS replace可以接受回调函数
这是js最鲜为人知的秘密之一,v 1.3首次引入.大部分情况下repalce的使用情况如下: '10 12 13 40 50'.replace(/\d+/g,'*');//用 * 替换所有的数字 这是 ...
- 用Karma和Jasmine测试Angular应用
TEST: Before you've written any of the code, you know how you want it to behave. You have a specific ...