有时候通过安装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路径下相关推荐

  1. 查看库文件编译时所使用的GCC版本号

    可以使用如下命令来查看库文件编译时所使用的GCC版本: strings -a xxx.a | grep "GCC"

  2. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...

    [本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...

  3. python打开指定文件-python打包压缩、读取指定目录下的指定类型文件

    下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch ...

  4. python读取压缩文件的指定后缀的文件_python打包压缩、读取指定目录下的指定类型文件...

    下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch ...

  5. python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区

    用虚拟环境保存库文件 如果你同时负责多个 Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个 Python 虚拟环境来分而 治之. ...

  6. 查看java源码时出现class文件而不是java文件,可能是因为java的安装路径下没有src.zip文件而是javafx-src.zip文件

    情况说明: 不是maven项目下的源码,就是普通java工程,比如查看System.arraycopy()源码,跳转的时是class文件,并且会提示Decompiled .class file, by ...

  7. Java获取文件的目录_Java实现读取某个路径下的文件目录

    展开全部 import javax.swing.*; import javax.swing.table.AbstractTableModel; import javax.swing.table.Tab ...

  8. Linux编译时如何减小so库文件的大小

    Linux编译时如何减小so库文件的大小 今天问了我这个问题,我就顺便记录一下.客户问为什么libc.so文件再编译前和编译后的size不一样啊,staging 和 compile 两个dir下的 l ...

  9. apk文件编译到系统文件中的方法(及包含so库的)

    把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法: 1 (1)源码编译后,把apk拷贝到out\target\product\generic\system\app中. (2 ...

  10. linux学习之路之使用脚本来复制二进制程序和所需的库文件

    首先介绍bash的特殊语法 ${parameter#*word} 其中parameter为变量,word为分隔符,表示从变量最边左字符开始到第一匹配到分隔符(word)之间的字符串都去掉 ${para ...

最新文章

  1. java编程器答疑z湖南岚鸿,吐血整理
  2. 人工智能带来科技浪潮的同时,对相关法治领域提出了什么样的挑战?
  3. spring学习之springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序...
  4. requests库提示警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate ver
  5. My team and my group in my opportunity and my appointment
  6. 学会这二十个正则表达式,能让你少些1000行代码!
  7. C#事件机制(记住流程)
  8. 应届生,你如何应付技术关?
  9. nodejs express use 传值_再也不怕面试官问你express和koa的区别了
  10. Coursera 机器学习笔记(五)
  11. matlab练习程序(非负矩阵分解)
  12. oracle存储过程(带参数的存储过程)
  13. tm1639c语言程序,51单片机各种汇编延时子程序整理汇总
  14. mysql sql model设置_操作mysql model
  15. 教孩子学编程(Python语言版)
  16. 解决手机QQ或微信已开通邮件提醒,但收到邮件仍不提醒的问题
  17. Decorate 模式
  18. 关于聪明与努力的文章.
  19. 随机梯度下降法的数学基础
  20. 合工大计算机与信息学院保研,合肥工业大学计算机与信息学院(专业学位)计算机技术保研夏令营...

热门文章

  1. 三十种共识算法,直抵背后的灵魂
  2. android webView加载页面时显示出全部网页内容
  3. DDR1 和 DDR2 双靶点抑制剂的设计合成及其抗炎作用研究
  4. 电脑文件误删除如何恢复?
  5. Surface Defect Detection Methods for Industrial Products : A Review
  6. octet-stream文件怎么看
  7. 01百思不得其姐基本配置
  8. 获得鸿蒙级抽奖,37鸿蒙天尊抽奖活动概率公示
  9. 数学建模·层次分析法基本步骤及参考代码
  10. Microsoft Live Account for Mail, space, onecare