Android開發中內建apk程式

來源:互聯網
上載者:User
 

 MID內建APK教程

By YWW

首先申明,這裡的方法介紹是針對我司自己項目中的具體開發板而做的。

Mg701內建APK有三種方式

一、         這種方法必須要自己編寫Android.mk檔案(關於Android.mk可以參考),在研發中,自己有源碼時,可以將APK的源碼包置於Android源碼中(比如:alps/package/apps中),然後需要編寫Android.mk檔案。然後執行命令:

./makeMtk <project_name> remake android <module_name>

 

二、         使用這種方法,會將此APK加入到編譯系統。當使用new時,此APK仍然會編譯到系統中。具體步驟為:

1. 在alps/packages/apps/下建立一個目錄,假定為Test。

2. 將###.apk(需要內建的apk)改名為Test.apk並放置在第一步建立的Test目錄下。

3. 請將以下內容複寫並儲存為Android.mk ,同樣放在Test目錄下

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := user

LOCAL_PREBUILT_PACKAGE := $(LOCAL_PATH)/Test.apk

LOCAL_PACKAGE_NAME := Test

LOCAL_CERTIFICATE := platform

include $(PREBUILT_PACKAGE)

注意:

要想使用者能卸載內建的apk,請在Android.mk檔案中把變數值

LOCAL_MODULE_TAGS由user改為tests

4. 在alps/build/target/product/<project_name>.mk檔案中的PRODUCT_PACKAGES這一項添加一行Test

5. 將從###.apk解壓出來的庫###.so拷到

alps/vendor/mediatek/<project_name>/artifacts/out/target/product/<project_name>/system/lib/目錄下(無so庫的apk內建時,去掉此步驟)。

6. 在alps目錄下執行

./mk <project_name> remake android。

特別注意:依照上述步驟製作,在編譯時間會出現錯誤而停止編譯,這主要是LOCAL_MODULE_TAGS := user而引起的。

LOCAL_MODULE_TAGS :=user eng tests optional

user: 指該模組只在user版本下才編譯

eng: 指該模組只在eng版本下才編譯

tests: 指該模組只在tests版本下才編譯

optional:指該模組在所有版本下都編譯

所以將以上Android.mk中的user改為test或者potional都可以,至於user版本的編譯是指在發布版中。我們這裡的發布版的編譯命令是:./makeMtk -opt=TARGET_BUILD_VARIANT=user yecon73v1 new


 三、使用這種方法,僅僅操作out目錄下的檔案,來將APK和so檔案打包到Image中,所以不會影響工程的源碼或編譯系統。但是當重新new時,新系統中不會有此APK。

1.(假定處於alps根目錄下)執行命令:source ./build/envstup.sh                                  

2. 執行命令:

export TARGET_PRODUCT=<project_name>

3. 手動將so檔案拷貝到(無so庫的apk內建時,去掉此步驟)

cp ###.so alps/out/product/<project_name>/system/lib/           

4. 將APK檔案拷貝到

cp ###.apk alps/out/product/<project_name>/system/app/

5. (假定處於alps根目錄下)執行命令:

make snod(或者m snod命令)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.