源码的apk生成在system/app目录下,打包成system.img,
如果想内置第三方的apk,如何加入整个build 系统?
当然可以手动添加到out/target/product/generic/system/app下,我是想make整个源码的过程中,自动加入到out/target/product/generic/system/app下,
请问如何实现?

解决方案 »

  1.   

    你在vendor下新建一个文件夹并且增加个Android.mk,将内容复制过去就行拉~~ 再使用out/host/linux-x86/bin/mkyaffs2image -f  来直接打包system
      

  2.   


    谢谢你的回答!
    但是我的还是编译有错误,提示中间文件生成的,如下:
    arget Prebuilt APK: MobileQQ2011(Android)BetaBuild0037 (out/target/product/msm7627_qrd/obj/APPS/MobileQQ2011(Android)BetaBuild0037_intermediates/MobileQQ2011(Android)BetaBuild0037.apk)
    /bin/bash: -c: line 0: syntax error near unexpected token `('
    /bin/bash: -c: line 0: `mkdir -p out/target/product/generic/obj/APPS/MobileQQ2011(Android)BetaBuild0037_intermediates/'
    make: *** [out/target/product/msm7627_qrd/obj/APPS/MobileQQ2011(Android)BetaBuild0037_intermediates/MobileQQ2011(Android)BetaBuild0037.apk] Error 2
    应该是mk写的不对,我的mk
      LOCAL_PATH := $(call my-dir)
      include $(CLEAR_VARS)
       
      # Module name should match apk name to be installed.
      LOCAL_MODULE := MobileQQ2011(Android)BetaBuild0037
      LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
      LOCAL_MODULE_CLASS := APPS
      LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)   LOCAL_MODULE_TAGS := user
    LOCAL_MODULE_CLASS := APPS
    LOCAL_MODULE_PATH := $(TARGET_OUT_APPS)  LOCAL_CERTIFICATE := platform
      include $(BUILD_PREBUILT)
    apk文件的路径:
    vendor/bm/APPS/Android.mk
                   /MobileQQ2011(Android)BetaBuild0037
      

  3.   

    我是添加好后直接在根目录下执行:make
    可以看到加进去了:
    build/core/base_rules.mk:108: user tag on app MobileQQ2011(Android)BetaBuild0037 at vendor/bm/APPS - add your app to core.mk instead
      

  4.   

    解决了,是那个apk文件名有“(”,该下名字就好了。
    现在问题是如果我想加入多个apk,要怎么写Android.mk?
    总不会这样建立目录吧:
    vendor/bm/APPS/APP1/APP1.APK
    -------------------Android.mkvendor/bm/APPS/APP2/APP2.APK
    -------------------Android.mk
    .
    .
    .
    vendor/bm/APPS/APPn/APPn.APK
    -------------------Android.mk
      

  5.   

    (的问题,解决那么诡异的问题,厉害。我看了半天也没看出错误来
    多个apk也可以用一个mk文件
      

  6.   

    集成第三方应用,有些是带有lib库的,集成时需要将lib库单独解压出来,放置在system/lib下
      

  7.   

    这个方法是否能解决APK软件适配性的问题?
    比如行货手机如果没安装GMS,就直接集成进去……
      

  8.   

    可以参见:
    http://blog.csdn.net/zhangchiytu/archive/2011/05/16/6424910.aspx