| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android 预制第三方app到系统中 -> 正文阅读 |
|
[移动开发]Android 预制第三方app到系统中 |
1. 前言????????在做项目的过程中,有时候有定制需求,要把第三方apk预制到手机系统中,这样app就不能被卸载掉。比如客户需要把 酷狗音乐 搜狗输入法预制到手机中,作为默认的音乐播放器,默认输入法等需求,首先我们需要自己写Android.mk 文件把app编译进系统中。如果不清楚Android.mk的语法规则,可以先看看之前写的文章:编写Android.mk把Android studio项目编译到AOSP源码中_broadview_java的博客-CSDN博客_android.mk studio 2. 具体实现我们可以把第三方app预制到 system/app system/priv-app product/priv-app/ product/app 等不同路径,mk文件编写如下: ? 如下是把??MyTestApp.apk? 编译到系统 system/priv-app 路径下
? 如果想编译到product/priv-app 路径下,则只需要修改为
3. 其他需求3.1 编译第三方的aar包到apk中
说明: 1.? LOCAL_STATIC_JAVA_AAR_LIBRARIES := androidasync-3.1.0? ? 编译依赖的aar包到apk中 2.? LOCAL_AAPT_FLAGS := \ ? ?使用aar包中的资源文件时,需要配置此参数, com.koushikdutta.async 可以在此aar包中的AndroidManifest.xml 文件中查找到。 3.? 第三方aar包预编译代码 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ include $(BUILD_MULTI_PREBUILT) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=?aar包别名?: aar包路径
所以为libs/androidasync-3.1.0.aar 4.?使用BUILD_MULTI_PREBUILT 预编译 3.2?编译依赖第三方jar包的代码片段
注意事项: LOCAL_STATIC_JAVA_LIBRARIES 后面应是你的APK程序所需要的JAVA库的JAR文件名 LOCAL_STATIC_JAVA_LIBRARIES取jar库的别名,可以任意取值;
3.3 编译一个静态java库代码片段
LOCAL_JAVA_LIBRARIES表示:共享库是由加载器加载到内存,在运行时使用的。 用?include $(BUILD_STATIC_JAVA_LIBRARY) 表示编译静态java库 3.4?编译可执行文件代码片段
用?include $(BUILD_EXECUTABLE) 来编译 3.5?编译第三方so库到APK代码片段
集成.so动态库 LOCAL_PREBUILT_LIBS指定prebuilt so的规则,格式:别名:so文件路径。注意:别名一般不可改变,特别是第三方jar包使用.so库的情况,且不含.so;so文件路径一定要是真实的存放第三方so文件的路径。 根据定义描述:所以?libBMaptest. so放在libs/armeabi 路径下。 编译用BUILD_MULTI_PREBUILT。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 3:07:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |