如何预置Android 手机 APK
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何预置Android 手机 APK相关的知识,希望对你有一定的参考价值。
一、如何将带源码的APK预置进系统?1) 在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预制一个名为Test的APK 为例
2) 将 Test APK的Source code 拷贝到 Test 文件夹下,删除 /bin 和 /gen 目录
3) 在 Test 目录下创建一个名为 android.mk的文件,内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := Test
include $(BUILD_PACKAGE)
4) 打开文件 build/target/product/$Project.mk (其中 $Project 表示工程名)
将 Test 添加到 PRODUCT_PACKAGES 里面。
5) 重新 build 整个工程
二、如何将无源码的 APK 预置进系统?
1) 在 packages/apps 下面以需要预置的 APK 名字创建文件夹,以预制一个名为Test的APK为例
2) 将 Test.apk 放到 packages/apps/Test 下面
3) 在 packages/apps/Test 下面创建文件 Android.mk,文件内容如下:
LOCAL_PATH := $(call my-dir)
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_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
4) 打开文件 build/target/product/$Project.mk (其中 $Project 表示工程名)
将 Test 添加到 PRODUCT_PACKAGES 里面。
5) 将从Test.apk解压出来的 so库拷贝到alps/vendor/mediatek/$Project/artifacts/out/target/product/$Project/system/lib/目录下,若无 so 库,则去掉此步;
6) 重新 build 整个工程
参考技术A 只有获得最高权限才能预置追答
还有就是有的软件预置到手机中的话会出现问题,譬如打不开了。
MTK Android O1平台预置apk
在MTK Android O1平台预置apk为可卸载时。预置到旧的路径system/vendor/operator/app会编译报错,"You cannot install files to out/target/product/xxx/system/vendor while building a separate vendor.img!"改为预置到vendor/operator/app就可以编译通过,预置可卸载成功,恢复出厂设置可恢复。
旧的
LOCAL_PATH := $(call my-dir)
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 :=
#LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
修改LOCAL_MODULE_PATH为
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/operator/app
以上。
以上是关于如何预置Android 手机 APK的主要内容,如果未能解决你的问题,请参考以下文章