android程序开发过程中,通过eclipse打包成为apk文件放入手机测试能够正常运行,
通过android系统自带的android.mk文件通过make的方式打包放入手机不能够正常运行我将这两种方式打的包通过apktool反编译,
发现通过eclipse打成apk将所有的资源文件都打入到包中
而通过android.mk打成apk只是将部分资源文件打入到包中,缺少主要的几个资源文件有那个高手遇到类似的问题,帮忙指定指定,小弟不胜感激

解决方案 »

  1.   

    没遇到过,那就用eclipse生成的包好了
      

  2.   

    android.mk 只表示你现在可以编译这个apk   一个apk程序有一个android.mk   如果你在eclipse中 你可以直接打包  如果你新做的模块   可以把你的程序放在android的源码中一起编译    编译过后就可以在out/../../ 目录下生成你的apk程序  你只需把你的apk 拷贝出来安装就可以了
      

  3.   

    正解,如同系统自带的那些apk,就是这么办的。
      

  4.   

    还可以利用命令$ source build/envsetup.sh 该命令添加了mm/mmm等命令,可以使用mmm来编译指定目录的模块:mmm packages/apps/Contacts/,编完之后生成两个文件:
    out/target/product/generic/data/app/ContactsTests.apk
    out/target/product/generic/system/app/ Contacts.apk
      

  5.   

    哥们,这些我当然清楚了,不然我也不会用Android.mk打包了
    非常感谢你的关注
    主要问题是我通过Android.mk打包后,发现drawable-hdip文件没有被打入包中而drawable-mdip被打入包中,所以我猜测肯定是哪个地方的配置问题,导致打包,只打入了mdip的文件,而这个配置的地方,一直都不是很清楚,所以问问哪个大神用到过
      

  6.   

    在你eclipse写项目程序的bin文件夹自动生成一个apk文件,直接拿过来就可以用的
      

  7.   

    恩,这个我是知道的,问题是通过eclipse打的包,不能够达到我的一些需求,所以需要通过系统自带的打包方式来进行打包
      

  8.   

    你不可能到时候编手机版本的时候一个个用eclipse去编译apk吧
    这些的目的就是为了编译手机版本的时候,只需要一个make搞定
      

  9.   

    原因找到了,修改dkb.mk里面的配置
    在dkb.mk中加入一条
    PRODUCT_LOCALES += hdpi
      

  10.   

    你这问题我还是真是遇到过,当时也觉得很莫名其妙,情况比你的还要复杂,我修改的是build/target/product下的generic.mk文件,最终解决了这个问题。