集成Apk到Android源码中编译
来源:互联网 发布:2016中国crm软件排名 编辑:程序博客网 时间:2024/06/04 18:04
一般而言,简单的app我们通过IDE make就可以生成apk文件,拿来使用。但是,有些情况会因为权限等问题,导致你的apk crash。比如:‘’java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS“ 。虽然我们在AndroidManifest.xml添加了相应权限,但是仍然会crash,原因是检测当前app不是system apps。所以我们就需要将我们的apk集成到源码里面去编译。(另一种方法:使用系统签名,这里暂不做介绍)
集成方法简单归纳为3步:
1>、集成IDE环境下的src/ res/ AndroidManifest.xml到源码目录结果packages/apps/××× 或者vendor/××× (xxx为新增的库,一般为app名称,专门用来存放app code及相关文件),修改AndroidManifest.xml文件,添加android:sharedUserId="android.uid.system“ 让程序运行在系统进程中。
2>、添加Android.mk文件。
LOCAL_PATH :=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_TAGS :=optional
LOCAL_SRC_FILES :=$(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := xxx
LOCAL_CERTIFICATE :=platform
include $(BUILD_PACKAGE)
只有使用 LOCAL_CERTIFICATE :=platform,上一步的 sharedUserId 才会生效。
3>、device下添加产品。device/**/**/**/device.mk或者product.mk.具体因平台(qcom、mtk、intel等等)而异。
#add xxx
PRODUCT_PACKAGES += \
xxx
通过以上操作,集成操作基本完成。mmm即可。会在out的system/app下生成相应apk文件。
备注:如果我们的apk包含三方库文件。比如通过jni调用的so库。同样把libs放置src/ res/同级目录,在Android.mk中添加
LOCAL_PREBUILT_JNI_LIBS:= \
libs/x86/lib*****.so\
libs/armeabi-v7a/lib****.so
即可。也可以直接push到system/lib中。
- 集成Apk到Android源码中编译
- android源码编译apk集成第三方so库
- android源码编译apk集成第三方so库
- Android 源码编译的系统apk如何安装到手机
- Android 源码下编译APK
- Android 源码下编译APK
- Android 源码下编译APK
- Android 源码下编译APK
- Android 源码下编译APK
- Android 源码下编译APK
- Android 4.0.3 源码编译中添加外部jar包和外部so到apk的方法
- android源码中编译打包so文件进apk
- android源码中打包so到apk的方法
- android源码中打包so到apk的方法
- 在Android源码中如何吧so库打包编译进入apk, 集成第三方库(jar和so库)
- Android 源码编译:资源树下,将drawable-*等文件编译到.apk里
- android 源码编译 怎么把so ,a,jar打包到apk里
- Android 源码编译将不同平台的静态so打包到apk。
- page-taglib标签结合SSH框架进行Java分页
- Server 2008R2 卸载Oracle 11g
- ubuntu14.04安装eclipse后启动栏图标为灰色问号
- 数据应用达人之SQL基础教程分享2
- Deep Learning的学习实践 5 -- CNN
- 集成Apk到Android源码中编译
- python opencv3人脸识别(windows)
- “共享经济”的风催熟了“信用经济”
- 使用gdb调试多进程多线程程序
- 2017计蒜之道第六场初赛 微软大楼设计方案(中等)(线段树)
- 挑战程序设计竞赛:深度优先搜索
- 微博大整改,网上发言也要注意规则
- JAVA-集合,HashSet
- tiny210 ubuntu下sd卡分区