Android源码中内置包含so文件的APK文件
2016-06-23 11:04
441 查看
在
将Test.apk放到
在
在
如果so文件是32位,而源码是针对64机器的,那么还需要在Android.mk文件中加上
在APK文件的当前目录,执行
4. 如果重新build整个工程时需要包含该Test模块,打开文件
注:如果APP使用System Level的permission,需要预置到/system/priv-app底下(原在/system/app)。修改Android.mk,增加
packages/apps下面以需要预置的APK名字创建文件夹,以预置一个名为Test的APK为例
将Test.apk放到
packages/apps/Test下面
在
packages/apps/Test下面创建文件Android.mk,文件内容如下:
include $(CLEAR_VARS) # Module name should match apk name to be installed LOCAL_MODULE := Test LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(LOCAL_MODULE).apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_PREBUILT_JNI_LIBS := \ @lib/armeabi/libtest.so \ @lib/armeabi/libtest2.so LOCAL_CERTIFICATE := PRESIGNED include $(BUILD_PREBUILT)
在
LOCAL_PREBUILT_JNI_LIBS中列出APK文件中的so文件,注意路径与APK保持一致。
如果so文件是32位,而源码是针对64机器的,那么还需要在Android.mk文件中加上
LOCAL_MULTILIB := 32。
在APK文件的当前目录,执行
mm命令编译当前模块,APK文件和so文件会分别安装到
out/target/product/xxx/system/app/Test/和
out/target/product/magc6735_66t_l1/system/app/MonitorS09/lib/arm。然后在项目根目录使用
make snod命令重新打包system.img即可。
4. 如果重新build整个工程时需要包含该Test模块,打开文件
device\mediatek\common\device.mk,将Test添加到PRODUCT_PACKAGES里面。
PRODUCT_PACKAGES += Test
注:如果APP使用System Level的permission,需要预置到/system/priv-app底下(原在/system/app)。修改Android.mk,增加
LOCAL_PRIVILEGED_MODULE := true,以声明app需要放在/system/priv-app下。
相关文章推荐
- Android Material Design系列之Navigation Drawer
- Android Studio快捷键
- android adb push 与 adb install的比较(两种安装APK的方法)
- Android退出应用最优雅的方式
- android 完全退出应用程序实现代码
- android post请求
- Android启动过程研究(三:servicemanager进程与Binder通信机制)
- Android added new permission model for Android 6.0 (Marshmallow).
- Android Butterknife Zelezny
- Android 简单动画
- 设置EditText输入的文字全部变成大写或小写
- Android手机的h264硬编码测试
- Android 内存泄露分析
- android json解析及简单例子
- Android智能指针浅析
- android使用自己的字体文件
- 最流行的android组件大全
- 菜鸟 ——android开发,单击按钮之后跳转到另一个页面
- Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)
- android之TabWidget选项卡