将apk和所需库文件编译打包到system/priv-app路径下
有时候通过安装apk方式来运行此apk会遇到一些avc denied(比如,没有system权限访问不了system/lib64下的库文件),需要将apk以及apk所需要的so文件拷贝到system/priv-app/路径下,到时有时候没有root权限,并不能往system/priv-app/路径下创建文件,所以我们需要做如下操作:
- 在有root权限的机器上安装apk
- adb root
- adb remount
- adb shell进入adb模式
- cd /data/app/apk包名-xxxxxxx
- 将上述base.apk和lib文件夹pull出来当一个文件夹中,并将base.apk重命名为apk原先的名字
- 新建一个HelloWorld文件夹,并将上述所有so文件和HelloWorld.apk拷贝到HelloWorld文件夹中
- 将HelloWorld文件夹拷贝到Android源码中的external/xxx/路径下
- 在external/mobicore/HelloWorld/路径下创建Android.mk,并添加如下内容(对于不同apk,只需要修改LOCAL_MODULE和LOCAL_PREDUILT_JNI_LIBS)
LOCAL_PATH := $(my-dir)#apk file
include $(CLEAR_VARS)
LOCAL_MODULE := HelloWorld
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_PRIVILEGED_MODULE := true
LOCAL_DEX_PREOPT := false
#LOCAL_MULTILIB := 32
#LOCAL_JNI_SHARED_LIBRARIES := libAndro7za libbase_module_dex libbitmaps libblur_armv7 libcmdsh libcommon_basemodule_jni libFdToFilePath libFileNDK libgif-jni libmemchunk libmttgpu_info libmttport_shared libmttwebview libmttwebview_plat_support libNativeRQD libqb_keystore libresapk libSharpPDecoder libtbs_sdk_extension_dex libtbs_shell_dex libtbsconf libTencentLocationSDK libtencentpos libvideo_impl_dex libwebp_base libwebview_dex libwebview_internal_service_dexLOCAL_PREBUILT_JNI_LIBS := libHelloWorldJavaClient.so \
libTee.so \
libTeeClient.so \
libblur_armv7.so \
libTeeJni.soPRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES += $(LOCAL_MODULE)include $(BUILD_PREBUILT)
- 保存之后,build系统,之后可以看到out/target/product/${product_name}/system/priv-app/HelloWorld已经打包进来了
- 重刷system.img
将apk和所需库文件编译打包到system/priv-app路径下相关推荐
- 查看库文件编译时所使用的GCC版本号
可以使用如下命令来查看库文件编译时所使用的GCC版本: strings -a xxx.a | grep "GCC"
- python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...
[本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...
- python打开指定文件-python打包压缩、读取指定目录下的指定类型文件
下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch ...
- python读取压缩文件的指定后缀的文件_python打包压缩、读取指定目录下的指定类型文件...
下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch ...
- python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区
用虚拟环境保存库文件 如果你同时负责多个 Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个 Python 虚拟环境来分而 治之. ...
- 查看java源码时出现class文件而不是java文件,可能是因为java的安装路径下没有src.zip文件而是javafx-src.zip文件
情况说明: 不是maven项目下的源码,就是普通java工程,比如查看System.arraycopy()源码,跳转的时是class文件,并且会提示Decompiled .class file, by ...
- Java获取文件的目录_Java实现读取某个路径下的文件目录
展开全部 import javax.swing.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Tab ...
- Linux编译时如何减小so库文件的大小
Linux编译时如何减小so库文件的大小 今天问了我这个问题,我就顺便记录一下.客户问为什么libc.so文件再编译前和编译后的size不一样啊,staging 和 compile 两个dir下的 l ...
- apk文件编译到系统文件中的方法(及包含so库的)
把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法: 1 (1)源码编译后,把apk拷贝到out\target\product\generic\system\app中. (2 ...
- linux学习之路之使用脚本来复制二进制程序和所需的库文件
首先介绍bash的特殊语法 ${parameter#*word} 其中parameter为变量,word为分隔符,表示从变量最边左字符开始到第一匹配到分隔符(word)之间的字符串都去掉 ${para ...
最新文章
- java编程器答疑z湖南岚鸿,吐血整理
- 人工智能带来科技浪潮的同时,对相关法治领域提出了什么样的挑战?
- spring学习之springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序...
- requests库提示警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate ver
- My team and my group in my opportunity and my appointment
- 学会这二十个正则表达式,能让你少些1000行代码!
- C#事件机制(记住流程)
- 应届生,你如何应付技术关?
- nodejs express use 传值_再也不怕面试官问你express和koa的区别了
- Coursera 机器学习笔记(五)
- matlab练习程序(非负矩阵分解)
- oracle存储过程(带参数的存储过程)
- tm1639c语言程序,51单片机各种汇编延时子程序整理汇总
- mysql sql model设置_操作mysql model
- 教孩子学编程(Python语言版)
- 解决手机QQ或微信已开通邮件提醒,但收到邮件仍不提醒的问题
- Decorate 模式
- 关于聪明与努力的文章.
- 随机梯度下降法的数学基础
- 合工大计算机与信息学院保研,合肥工业大学计算机与信息学院(专业学位)计算机技术保研夏令营...
热门文章
- 三十种共识算法,直抵背后的灵魂
- android webView加载页面时显示出全部网页内容
- DDR1 和 DDR2 双靶点抑制剂的设计合成及其抗炎作用研究
- 电脑文件误删除如何恢复?
- Surface Defect Detection Methods for Industrial Products : A Review
- octet-stream文件怎么看
- 01百思不得其姐基本配置
- 获得鸿蒙级抽奖,37鸿蒙天尊抽奖活动概率公示
- 数学建模·层次分析法基本步骤及参考代码
- Microsoft Live Account for Mail, space, onecare