1. 程式人生 > >apk內建到系統的兩種方法

apk內建到系統的兩種方法

第一種:不需要少些系統映象(system.img),只需要root系統。

具體操作:

1、 將手機連線電腦,並開啟USB除錯模式。

2、 通過CMD進入Windows命令列視窗,輸如:adbshell如下圖所示:


3、 如果是root就可以進入下一步,不是root需要root自己的手機,並授權控制檯root許可權。

4、執行exit退出adb shell,執行adbremount 重新把只讀的system系統掛載為可讀寫的系統。然後執行adb push <apk路徑>  /system/app,把要裝到系統裡面的apk導進去。如下圖:


5、執行adb reboot 重啟手機,手機裡就會看到已經安裝的apk。

第二種:需要Android原始碼,把APK以預置的方式編譯到system.img。

具體方法:

1、  在packages/apps/下面建立一個app名稱命名的資料夾,然後把apk放進去,並建立一個Android.mk檔案。如圖:


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。