一、 这种方法必须要自己编写Android.mk文件(关于Android.mk可以参考),在研发中,自己有源码时,可以将APK的源码包置于Android源码中(比如:alps/package/apps中),然后需要编写Android.mk文件。然后执行命令:

./makeMtk remake android

二、 使用这种方法,会将此APK加入到编译系统。当使用new时,此APK仍然会编译到系统中。具体步骤为:

1. 在alps/packages/apps/下新建一个目录,假定为Test。

2. 将###.apk(需要内置的apk)改名为Test.apk并放置在第一步新建的Test目录下。

3. 请将以下内容复制并保存为Android.mk ,同样放在Test目录下

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := user

LOCAL_PREBUILT_PACKAGE := $(LOCAL_PATH)/Test.apk

LOCAL_PACKAGE_NAME := Test

LOCAL_CERTIFICATE := platform

include $(PREBUILT_PACKAGE)

注意:

要想用户能卸载内置的apk,请在Android.mk文件中把变量值

LOCAL_MODULE_TAGS由user改为tests

4. 在alps/build/target/product/.mk文件中的PRODUCT_PACKAGES这一项添加一行Test

5. 将从###.apk解压出来的库###.so拷到

alps/vendor/mediatek//artifacts/out/target/product//system/lib/目录下(无so库的apk内置时,去掉此步骤)。

6. 在alps目录下执行

./mk remake android。

特别注意:依照上述步骤制作,在编译时会出现错误而停止编译,这主要是LOCAL_MODULE_TAGS := user而引起的。

LOCAL_MODULE_TAGS :=user eng tests optional

user: 指该模块只在user版本下才编译

eng: 指该模块只在eng版本下才编译

tests: 指该模块只在tests版本下才编译

optional:指该模块在所有版本下都编译

所以将以上Android.mk中的user改为test或者potional都可以,至于user版本的编译是指在发布版中。我们这里的发布版的编译命令是:./makeMtk -opt=TARGET_BUILD_VARIANT=user yecon73v1 new

三、使用这种方法,仅仅操作out目录下的文件,来将APK和so文件打包到Image中,所以不会影响工程的源码或编译系统。但是当重新new时,新系统中不会有此APK。

1.(假定处于alps根目录下)执行命令:source ./build/envstup.sh

2. 执行命令:

export TARGET_PRODUCT=

3. 手动将so文件拷贝到(无so库的apk内置时,去掉此步骤)

cp ###.so alps/out/product//system/lib/

4. 将APK文件拷贝到

cp ###.apk alps/out/product//system/app/

5. (假定处于alps根目录下)执行命令:

make snod(或者m snod命令)

除了以上方法外还可以把apk拷贝到alps_53/vendor/mediatek/proprietary/packages/apps/目录下面的子目录里面

android预置第三方apk,android 内置APK成系统应用相关推荐

  1. Android 系统工程中内置APK

    有些时候需要将一些自已写的apk内置到系统,也就是第三方内置.内置的原因一部是让apk拥有系统级权限,一部分为了内置apk定制刷机包. 系统级: 1.先在package/apps中创建一个文件夹,如H ...

  2. android apk 提取,android APK提取内置软件odex转dex

    android APK提取内置软件odex转dex 细心的网友可能发现android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作 用呢? android123提示大 ...

  3. 改版本号,型号,内置apk,白名单,后台不可清除,不可卸载

    改版本号就在项目下的的ProjectConfig.mk里面有宏FREEME_PRODUCT_INFO_SW_VERNO,看着手机里的版本号也可以定位,然后换就是了.型号也是在这里面定位比如FREEME ...

  4. android 内置apk方法,Android预置Apk方法

    因为工作需要,经常要开发和合入系统App,所以在此开篇作为收集和记录Android合入系统应用的方法,以备日后查阅. 一.预置apk方法 Case 1:如何将带源码的APK预置进系统 在 packag ...

  5. mtk android apk lib,Android MTK 拷贝第三方App 内置apk文件到系统目录

    MTK 的第三方App文件或者so库,都存在在Vendor目录下面 vendor\retch\thirdapp 我们要实现App 的拷贝,可以在pacakage\apps 下面去新建一个文件夹Retc ...

  6. Android 12 内置APK mismatch in the <uses-library> tags

    Android系统源码开发系列教学视频链接: Android 10.0 AOSP源码编译: AOSP源码开发环境搭建教学视频-百问100ask Android系统 10.0 AOSP源码编译--CSD ...

  7. Android内置APK安装包方法

    1.首先将apk文件放置在工程中的asset文件夹中,选择Project工程结构显示,在app/src/main上右键new->Folder->Assets Folder,在弹出的窗口中不 ...

  8. mt6761平台 源码内置APK报错“/lib/xxxx.so“ not found

    内置到安卓系统里的APP运行失败,抓取log有以下类似的报错时: lang.UnsatisfiedLinkError: dlopen failed: library "/system/app ...

  9. android系统版本卸掉,使用内置软件卸载最新版本的Android

    Power Software Park提供了最新版本的内置软件卸载Android. 一个实用且功能强大的手机软件,它可以帮助您卸载手机中无用的系统程序,使您的手机更加简单方便,并且不会被太多无用的混乱 ...

最新文章

  1. 一个关于linux文件预读机制问题
  2. java.util.Properties类,保存时保留注释及格式不变
  3. setactive隐藏之后无法显示_WPS表格:如何显示和隐藏顶部工具栏?
  4. Ubuntu 16.04上安装SkyEye及测试
  5. 敏捷开发与中医理论系列之二:古法教学(软件教育,松结对编程,师徒制度)...
  6. 视觉SLAM笔记(27) 非线性最小二乘
  7. Veeam 全面助力等保2.0/ 云数据管理解决方案/ 医疗行业最佳实践
  8. 第二篇 FPGA数字信号处理_并行FIR滤波器Verilog设计
  9. miui android mmi,小米5miui9稳定版自改官包方法
  10. 计算机win764位相机驱动,万能驱动助理win7 64位
  11. 【教程】批量号码归属地查询可以导出excel表格,手机号码归属地批量查询软件免费版
  12. cs服务器网页管理端,sXe服务器端怎么管理
  13. IT项目管理的实例与总结
  14. 华盛顿大学计算机专业硕士申请,华盛顿大学计算机科学与工程理学硕士研究生申请要求及申请材料要求清单...
  15. 文档型非关系数据库MongoDB经验总结
  16. 论文阅读笔记--Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods 人体姿态估计综述
  17. tiptop自定义发送邮件
  18. 苏嵌学习日志06 07.14
  19. 优秀logo设计解析_40+给你灵感的优秀LOGO设计作品
  20. 专科计算机专业能报考南方电网,想进南方电网工作?你必须得是这些专业的学生!...

热门文章

  1. CPU Cache原理与示例
  2. 全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
  3. 2021年大数据基础(一):大数据概念
  4. CSS grid 的用法
  5. androidx FloatingActionButton 中间加载的图片显示黑色
  6. git生成ssh keys步骤与使用
  7. 讯飞语音的中的bug用户校验失败
  8. JLOI2011 飞行路线
  9. day22_面向对象
  10. switch case