如何内置客制(第三方)的apk到ROM中

1,如何将带源码的 APK 预置进系统?                                                                                                                                                       

1) 在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预置一个名为Test的APK 为例

2) 将 Test APK的Source code 拷贝到 Test 文件夹下,删除 /bin 和 /gen 目录

3) 在 Test 目录下创建一个名为 Android.mk的文件                                                                                                                            

4)在device\mediatek\common\device.mk,将 Test 添加到 PRODUCT_PACKAGES 里面。PRODUCT_PACKAGES += Test          

5)重新 build 整个工程                                                                                                                                                                      

2,如何将无源码的 APK 预置进系统?                                                                                                                                                      

具体的步骤还是参照上边的五个步骤,第二步与上边的不同,这个是将整个apk复制到对应文件夹下边。第三步的Android.mk的内容与上边的有所不同,因为这个涉及到了lib库,若无so,删除LOCAL_PREBUILT_JNI_LIBS,若有so,使用LOCAL_PREBUILT_JNI_LIBS列出所有so的路径,不要忘记使用@。@标识符会将apk中的so抽离出来build进apk同 级目录下的lib文件夹中。                                                 

3,如何预置APK使得用户可以卸载,恢复出厂设置时不能恢复?                                                                                                      

具体的操作步骤还是跟第一个一样的,唯一不一样的就是Android.mk里边多了一行LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS),这个主要是确保apk的安装位置不能安装到system区。      

4,如何预置APK使得用户可以卸载,并且恢复出厂设置时能够恢复?                               

1)在 vendor\mediatek\proprietary\binary\3rd-party\free下面以需要预置的 APK 名字创建文件夹,以预置一个名为Test的APK为例

      2) 将Test.apk 放入vendor\mediatek\proprietary\binary\3rd-party\free\Test下面

     3) 在vendor\mediatek\proprietary\binary\3rd-party\free\Test 下面创建文件 Android.mk,内容同上,比上边多了一行  LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app,                      

4)在device\mediatek\common\device.mk,将 Test 添加到 PRODUCT_PACKAGES 里面。PRODUCT_PACKAGES += Test          

5)重新 build 整个工程                                                                                                                                                                         

5,内置app需要注意的地方:                                        

若需要apk作为32bit的apk运行,则需要在Android.mk中定义 LOCAL_MULTILIB :=32 

你可能感兴趣的:(androidMTK平台问题)