1. 推至指定目录

如何让一个第三方apk成为系统apk呢?传统的办法是连上adb线,push到系统指定目录下:

$ adb push 'demo.apk' /system/priv-app/

然后reboot安卓终端达到重启,重启后会自动安装第三方apk为系统apk。

$ adb reboot

需要说明的是,如果demo.apk有第三方lib库依赖,需要添加lib下的库文件至/system/lib-64中。否则app运行会报缺少库文件依赖的异常。

$ adb push '/Face/libnative-lib-vcc.so' /system/lib-64

如果你需要卸载系统apk就略微有些麻烦,你需要remove掉这些目录下的文件。而且容易残留碎片。(比如,最容易犯的错是你只删了system/priv-app下的apk文件,却没有去/system/lib-64下删除依赖)。

$ adb rm -rf /system/priv-app/demo.apk
$ adb reboot            #需要重启才能生效.

2. 制作系统签名

上述方法因为要频繁reboot,且容易产生大量碎片实在不可取。另一种方法是使第三方apk取得系统签名,就可以像安装/卸载第三方apk一样达到制作系统apk的目标。

这个过程需要得到目标安卓终端的系统源代码编译出来的文件。首先,在Android源代码目录下找到该编译文件:

两个平台签名文件的地址分别为:

android/build/target/product/security/platform.pk8 ;

android/build/target/product/security/platform.x509.pem

需要在Shell终端中,把platform.pk8文件从pkcs8格式私钥转化为pkcs12格式:

$ openssl pkcs8  -in platform.pk8  -inform DER  -outform  PEM  -out  shared.priv.pem  -nocrypt

同理,把platform.x509.pem转化为pkcs12格式:

$  openssl  pkcs12  -export  -in  platform.x509.pem  -inkey  shared.priv.pem  -out  shared.pk12  -name  androiddebugkey

文件设置私钥名称为androiddebugkey, 然后会弹出设置私钥密码,输入“android”.

key store password:androidkey alias:androiddebugkeykey password: android

利用Linux自带的keytool制作platform.keystore签名文件:

$ keytool -importkeystore  -deststorepass  android -destkeypass android -destkeystore  platform.keystore  -srckeystore  shared.pk12   -srcstoretype  PKCS12  -srcstorepass android -alias androiddebugkey

3. Android Studio导入签名文件

首先,保证项目Make Project通过。接着,Build > Generate Signed Apk:

选择.keystore签名文件所在目录,分别输入key store password等参数(同之前Shell终端输入)

然后点击Next按钮,选择v2 Full APK Signature。然后,你的app只要遵循第三方apk安装方式即可!系统apk制作至此步完成。

当然你也可以用adb install和adb uninstall命令来安装指定路径下的apk。

$ adb install 'Face/app-debug.apk'   # install参数后接的是apk路径
$ adb uninstall 'com.example.helloworld'   # uninstall参数后接的是已安装apk的packageName.

如有任何问题和疑问,欢迎大家关注我的微信公众号:

制作Android系统App相关推荐

  1. android 监控行为,一种针对Android系统App行为的监控方法

    主权项: 1.一种针对Android系统App行为的监控方法,通过安全内核实现方法在Android内核层添加模块,实现对整个Android系统的系统调用的拦截与监控:包括如下步骤:S1.编写内核模块: ...

  2. 利用ESP8266制作环境监测系统+APP inventor制作手机App实时显示

    利用ESP8266制作环境监测系统+APP inventor制作手机App实时显示 原理讲解 ESP8266读取各种传感器数值 传感器数据推送到云端 app inventor 制作app 接收实时数据 ...

  3. Android系统APP安装流程

    更多内容,欢迎关注公众号:tmac_lover 这篇文章介绍一下Android里安装一个apk文件的完整流程,我们以pm install安装一个新的app为例介绍. 1. pm命令 当我们使用 pm ...

  4. android 系统app指定加载32-bit/64-bit so库

    系统app 要求指定使用 32bit的so库,但是android Sudio 编译出来的app,使用 System.loadLibrary() 加载库的时候,硬是要去 加载 64bit的库, 把 /s ...

  5. 卸载 android 系统app

    ☆1.下载一键安全root软件,安装后运行,选择获取临时root权限. ☆2.下载系统程序卸载器SystemAppRemover,安装后运行,进入界面后会提示已获得root权限,选择点击右下角Syst ...

  6. pc版android系统 app,掏空国产App,这国产系统究竟想干啥?

    大家好,欢迎来到黑马公社. 就在这几天,整个数码圈子都被华为的鸿蒙系统刷屏了! 别的不说,单就华为对鸿蒙系统的后台应用优化就足以让黑马眼馋. 可惜的是,黑马空有设备却没有通过审核.不得已,鸿蒙系统的这 ...

  7. 基于单片机的北斗定位无人机救火系统(两种程序:单片机与android系统app程序源码)

    功能: 本次设计是一个基于北斗定位的无人机灭火系统,本次设计主要通过北斗系统定位,能够将获取到的位置信息通过无线通讯技术传输到无人机上,进行火灾救援.本次设计需求主要为一下几点: 北斗定位获取火灾位置 ...

  8. android系统app打开蓝牙+设置可见性

    BluetoothAdapter blue = BluetoothAdapter.getDefaultAdapter(); 这两个方法足矣满足你的需求(需要system权限): blue.enable ...

  9. QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)

    一.环境介绍 QT版本: 5.12.6 编译环境: win10 64位 目标系统: Android 完整工程源码下载地址(包含APK文件):  https://download.csdn.net/do ...

最新文章

  1. 平面设计中的网格系统pdf_全面掌握版式设计中的网格系统
  2. 那些年我用过的SAP IDE
  3. springboot项目启动优化
  4. ROW_NUMBER、RANK、DENSE_RANK的用法
  5. 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.19 使用bcp实施批量导出...
  6. CF1580C Train Maintenance(分块)
  7. React中父子组件之间的通信
  8. 【CSS3】将截断的文字可选的显示出来
  9. springmvc java中转发_springmvc实现转发和重定向
  10. php获取当前页面select的值,关于JS获取select的值
  11. python文本编辑器下载_海龟编辑器官方下载|海龟编辑器(Python编辑器)下载 v1.3.4 官方版 - 绿点软件站...
  12. B 站 Up 主自制秃头生成器,圆你秃头梦想可好?
  13. mongodb 高可用分布式原理 ---------搭建高可用mongo集群前需要温习的知识-火
  14. 调试技巧之调用堆栈 - Call stack
  15. 伪随机生成器具体实现——ANSI X9.17
  16. 如何做好谷牛期权短线交易
  17. 【转载】快速入门(完整):Python实例100个(基于最新Python3.7版本)
  18. 关于Mysql出现1045错误的方法
  19. 混沌工程之ChaosBlade(一):建立混沌工程思想
  20. 普吉岛泡酒店浮潜攻略——我住过的普吉岛的8个酒店

热门文章

  1. 双月数据生成及其常见算法(一)
  2. tab标签页-选项卡后边+后端所返数据的数量
  3. 计算机文化基础——计算机基础知识
  4. FiveThirtyEight Comic Characters Dataset(五分之八漫画人物数据集)
  5. hbase和es在搜索场景的应用
  6. revit模型怎么在手机上看_e建筑手机版下载-e建筑(轻松查看CAD图纸和BIM模型)1.2.4 官方苹果版-东坡下载...
  7. 空字符串和len()函数
  8. 【绿色版软件】出现应用程序无法启动,并行配置不正确
  9. 人工智能(AI)和机器学习——未来的发展趋势
  10. 从多个Word文档中批量取值,整理到Excel表中。