编译好的APK怎么打包进Android镜像啊?在网上找了一些方法不行,不知道为什么

解决方案 »

  1.   

    APK要放那个目录?out/target/generic/system/app目录下?但编译打包不进image啊!不知道那个地方还没处理好!
      

  2.   

    如何将apk打包到system.img里面
    http://topic.csdn.net/u/20110920/17/98c41f36-cca3-46a6-a68e-36c5dd91d80b.html
      

  3.   

    Android 使用系统限制的权限的apk应安装到 /system/app 目录下 
    http://blog.csdn.net/gengyichao/article/details/6586447  在 Android 中,如果要使用系统限制的权限(比如 android.permission.WRITE_SECURE_SETTINGS),我们需要把程序安装到 /system/app/ 下     比如,我写了一个APK ,其中的主 Activity中用到以下代码:     。      ContentResolver resolver = context.getContentResolver();
         // 获得gps当前的状态,若为true表示打开, false 为关闭      boolean assisted_gps_enabled = Settings.Secure.isLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER);      // 如果关闭, 则打开                if(!assisted_gps_enabled)                Settings.Secure.setLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER,   true);            然后在AndroidManifest.xml 中声明权限        <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />这时,无论通过 adb push 还是 adb install  或者是 之间修改mk文件将apk集成进系统(当然指定到 /data/app下),运行apk是总会报        java.lang.SecurityException: Permission denial: writing to secure settings requires      android.permission.WRITE_SECURE_SETTINGS这个错误       这是因为android.permission.WRITE_SECURE_SETTINGS是系统限制的权限。所以apk需要是系统的apk (/system/app下才可以)。可以把apk 通过 adb push “你的apk” system/app  或者 修改mk文件将其编入system镜像 
      

  4.   

    Android 已有apk 编译进system 
    http://xxw8393.blog.163.com/blog/static/37256834201091023444128/mkdir packages/apps/prebuilt_apps
     cd prebuilt_apps
    vi Android.mk
    写入
     LOCAL_PATH:= $(call my-dir)
     include $(CLEAR_VARS)
    LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk  $(TARGET_OUT)/app/)
    保存退出
    将需要编译进system的apk拷贝到本目录下
      

  5.   

    新做的app,如何编译进工程啊?
    http://www.eoeandroid.com/thread-24995-1-1.html我这个方法是可行的,你可以参考下:
    1. 我用的是 linux系统(也可以用虚拟机)
    1. 下载android source code
    2. 打开source code的cupcake(解压就不说了)
    3. 把你的工程Hello(Hello是工程名)放到cupcake/platform/packages/apps/下面
    4. 然后我是copy的apps/Settings/Android.mk到Hello下面,当然这里也可以copy别的系统自带的工程下面的  Android.mk
    5. 修改Hello下面copy过来的Android.mk    -----    LOCAL_PACKAGE_NAME:=Hello(这里改成你的工程名)
    6. 还要修改一个地方不然不会生成到android整个工程里面 cupcake/platform/build/target/product/generic.mk
    -------   在这个mk文件中的PRODUCT_PACKAGES:=   的最后加上\Hello 就可以了
    7. 现在就在cupcake根目录下 $make sdk  即可
    8. 生成的img就会带你自己加的那个Hello工程了 
    //---------------------------------------------------
    建一个目录,在下面添加一个Android.mk这样的编译脚本,你可以模拟这个来写一个
    LOCAL_PATH:= $(call my-dir)
    include $(CLEAR_VARS)LOCAL_MODULE_TAGS := userLOCAL_SRC_FILES := $(call all-subdir-java-files)
    LOCAL_PACKAGE_NAME := Phone
    LOCAL_CERTIFICATE := platforminclude $(BUILD_PACKAGE)
    然后在generic.mk里面的PRODUCT_PACKAGES:= ,加上你的LOCAL_PACKAGE_NAME ,这里面是Phone,然后可以进行编译,就OK了.6楼分析的很对. 
      

  6.   

    还老用修改一下ANDROID的系统代码再重新编译才OK!
      

  7.   

    这样打包的APK跑不起来,是因为APK用到了SO文件,需要把SO文件放到/SYSTEM/LIB目录下再重新编译ANROID镜像!
      

  8.   

    通过ADB INSTALL安装的APK,APK的SO库文件不会COPY到/SYSTEM/LIB目录下啊!但这样安装的APK可以跑起来啊,按道理在/SYSTEM/APP目录下的APK应该有更大的权限,但为什么在/SYSTEM/APP目录下的APK连自己目录下的SO库文件都访问不了,很奇怪的一个现象,难道要给安装在/SYSTEM/APP目录下的APK进行权限允许什么的吗?有点困惑!
      

  9.   

    安卓(android)系统固件包修改基础教程
    http://blog.zol.com.cn/3697/article_3696982.html注意:据说个别APK软件需自带的库文件支持能力正常运行,此时可用WinRAR等压缩软件将APK文件打开(将.apk后缀改成.zip,然后用压缩软件打开即可),从里边找到后缀为.so的文件,然后放入../system/lib文件夹下即可。-