如何将一个没有源码的apk预置进系统,可以删除,恢复出厂设置可以恢复安装?
1) 在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预制一个名为Test的APK 为例;
2) 将 Test APK的 拷贝到 Test 文件夹下;
3) 在 Test 目录下创建一个名为 Android.mk的文件,内容如下:
LOCAL_PATH:= $(call my-dir)
#Test
include $(CLEAR_VARS)
LOCAL_MODULE := Test
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
4) 打开文件 build/target/product/${Project}.mk (其中 ${Project} 表示工程名),我的是core.mk;
将 Test 添加到 PRODUCT_PACKAGES 里面.如果该APK有.so的库文件,则解压出库文件,加入
PRODUCT_PACKAGES += \
libcronet.62.0.3202.13 \
libdrishti_jni_native \
libfilterframework_jni \
libframesequence \
libgvr \
libgvr_audio \
libluajit \
libmoxie \
libvpx \
libvpxJNI \
libwebp_android \
libyoga
解压库文件的方法:将apk文件重命名为.zip文件,解压缩,其中lib 下的文件就是库文件.