将第三方APK文件编译进入img(转)
第一种方法:
1. 将ES_FileExplorerco.apk, flashplayer_V10.3.apk 文件拷贝到Z:\mywork\gingerbreadRel\device\telechips\common目录下;
2. 在Z:\mywork\gingerbreadRel\build\target\product\generic.mk文件中添加下面信息:
PRODUCT_COPY_FILES := \
device/telechips/common/ES_FileExplorerco.apk:system/app/ES_FileExplorerco.apk\
device/telechips/common/flashplayer_V10.3.apk:system/app/flashplayer_V10.3.apk\
3. 重新编译整个SDK;完成.
=====================================
当然, 请大家注意了. 当我用Angry_Birds.apk做以上操作, 发现系统起来后,Angry_Birds.apk运行异常. 在Sam哥的指导下, 原来需要将Angry_Birds.apk包中的libangrybirds.so文件单独取出编译进入img. 可以将Angry_Birds.apk重命名为Angry_Birds.zip文件, 用解压工具打开取出Angry Birds1.53.zip\lib\armeabi-v7a\目录下的libangrybirds.so文件(注意:我的开发环境是ARMV7, 所以选择了armeabi-v7a目录下的so文件;否则选armeabi目录下的so文件). 同样将libangrybirds.so文件放到Z:\mywork\gingerbreadRel\device\telechips\common目录下. 在Z:\mywork\gingerbreadRel\build\target\product\generic.mk文件中添加下面信息:
PRODUCT_COPY_FILES := \
device/telechips/common/ES_FileExplorerco.apk:system/app/ES_FileExplorerco.apk\
device/telechips/common/Angry_Birds.apk:system/app/Angry_Birds.apk\
device/telechips/common/libangrybirds.so:system/lib/libangrybirds.so\
这样Angry_Birds.apk运行就正常了.=====================================
第二种方法:
1. 在Z:\mywork\gingerbreadRel\packages\apps目录下建一个目录ES_FileExplorerco;
2. 然后把ES_FileExplorerco.apk文件拷贝到Z:\mywork\gingerbreadRel\packages\apps\ES_FileExplorerco目录下;
3. 在ES_FileExplorerco目录下, 建一个Android.mk文件, 输入下面内容:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)
LOCAL_MODULE := ES_FileExplorerco.apk
LOCAL_MODULE_TAGS:=optional
LOCAL_MODULE_CLASS:=EXECUTABLE
LOCAL_MODULE_PATH:=$(TARGET_OUT_APPS)
LOCAL_SRC_FILES := $(LOCAL_MODULE)include $(BUILD_PREBUILT)
4. 其它APK文件依次重复上面相应操作;
5. 重新编译整个SDK;
完成.
相关推荐
adb shell cd system/app rm *.apk21. 获取管理员权限: adb root22. 启动Activity: adb shell am start -n 包名/包名+类名。