apk内置到系统的两种方法

时间:2022-09-13 04:33:45

第一种:不需要少些系统镜像(system.img),只需要root系统。

具体操作:

1、 将手机连接电脑,并开启USB调试模式。

2、 通过CMD进入Windows命令行窗口,输如:adbshell如下图所示:

apk内置到系统的两种方法

3、 如果是root就可以进入下一步,不是root需要root自己的手机,并授权控制台root权限。

4、执行exit退出adb shell,执行adbremount 重新把只读的system系统挂载为可读写的系统。然后执行adb push <apk路径>  /system/app,把要装到系统里面的apk导进去。如下图:

apk内置到系统的两种方法

5、执行adb reboot 重启手机,手机里就会看到已经安装的apk。

第二种:需要Android源码,把APK以预置的方式编译到system.img。

具体方法:

1、  在packages/apps/下面创建一个app名称命名的文件夹,然后把apk放进去,并创建一个Android.mk文件。如图:

apk内置到系统的两种方法

2、  编辑Android.mk文件,文件内容如下:

LOCAL_PATH:= $(call my-dir)
include$(CLEAR_VARS)
# Modulename should match apk name to be installed
LOCAL_MODULE:= blsmFlashPlayer
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_MODULE_PATH:= $(TARGET_OUT)/vendor/operator/app
include $(BUILD_PREBUILT)

3、  使用mmm packages/apps/MTPtool编译,编译完成会在out/…/system/app/下面多了一个MTPtool。然后执行make snod重新创建system.img,

然后烧录即可。

我这里使用的如下命令:

./quick_build.sh A165_PERU mmm packages/apps/MTPTool/
./quick_build.sh A165_PERU snod

4、重启手机可看到预制的APK。