方法一:
在packages/apps下面以需要预置的APK名字创建文件夹,以预置一个名为Test的APK为例
将Test.apk放到packages/apps/Test下面
在packages/apps/Test下面创建文件Android.mk,文件内容如下:1 include $(CLEAR_VARS)
2 # Module name should match apk name to be installed
3 LOCAL_MODULE := Test
4 LOCAL_MODULE_TAGS := optional
5 LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
6 LOCAL_MODULE_CLASS := APPS
7 LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
8 LOCAL_PREBUILT_JNI_LIBS := \
9 @lib/armeabi/libtest.so \
10 @lib/armeabi/libtest2.so
11 LOCAL_CERTIFICATE := PRESIGNED
12 include $(BUILD_PREBUILT)
在LOCAL_PREBUILT_JNI_LIBS中列出APK文件中的so文件,注意路径与APK保持一致。
如果so文件是32位,而源码是针对64机器的,那么还需要在Android.mk文件中加上LOCAL_MULTILIB := 32。
在APK文件的当前目录,执行mm命令编译当前模块,APK文件和so文件会分别安装到out/tar