关于android程序打包成为apk问题

yueguangkai001 2011-07-30 10:31:20
android程序开发过程中,通过eclipse打包成为apk文件放入手机测试能够正常运行,
通过android系统自带的android.mk文件通过make的方式打包放入手机不能够正常运行

我将这两种方式打的包通过apktool反编译,
发现通过eclipse打成apk将所有的资源文件都打入到包中
而通过android.mk打成apk只是将部分资源文件打入到包中,缺少主要的几个资源文件

有那个高手遇到类似的问题,帮忙指定指定,小弟不胜感激
...全文
687 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
yueguangkai001 2011-08-02
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 louiswangbing 的回复:]
你这问题我还是真是遇到过,当时也觉得很莫名其妙,情况比你的还要复杂,我修改的是build/target/product下的generic.mk文件,最终解决了这个问题。
[/Quote]
呵呵,也是呀

估计差不多的意思,搞完了 结贴
fly_over 2011-08-01
  • 打赏
  • 举报
回复
没搞过
七夜_雪 2011-08-01
  • 打赏
  • 举报
回复
你这问题我还是真是遇到过,当时也觉得很莫名其妙,情况比你的还要复杂,我修改的是build/target/product下的generic.mk文件,最终解决了这个问题。
yueguangkai001 2011-08-01
  • 打赏
  • 举报
回复
难道没有各位高手关注一下的!
yueguangkai001 2011-08-01
  • 打赏
  • 举报
回复
原因找到了,修改dkb.mk里面的配置
在dkb.mk中加入一条
PRODUCT_LOCALES += hdpi
yueguangkai001 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wawyz 的回复:]
有简单的方法为什么不用呢
[/Quote]
你不可能到时候编手机版本的时候一个个用eclipse去编译apk吧
这些的目的就是为了编译手机版本的时候,只需要一个make搞定
颍川公子 2011-08-01
  • 打赏
  • 举报
回复
有简单的方法为什么不用呢
空~自由 2011-08-01
  • 打赏
  • 举报
回复
学习!
yongyuandeni 2011-07-30
  • 打赏
  • 举报
回复
没遇到过,那就用eclipse生成的包好了
yueguangkai001 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 haiyex1 的回复:]
在你eclipse写项目程序的bin文件夹自动生成一个apk文件,直接拿过来就可以用的
[/Quote]
恩,这个我是知道的,问题是通过eclipse打的包,不能够达到我的一些需求,所以需要通过系统自带的打包方式来进行打包
haiyex1 2011-07-30
  • 打赏
  • 举报
回复
在你eclipse写项目程序的bin文件夹自动生成一个apk文件,直接拿过来就可以用的
yueguangkai001 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aspects 的回复:]
android.mk 只表示你现在可以编译这个apk 一个apk程序有一个android.mk 如果你在eclipse中 你可以直接打包 如果你新做的模块 可以把你的程序放在android的源码中一起编译 编译过后就可以在out/../../ 目录下生成你的apk程序 你只需把你的apk 拷贝出来安装就可以了
[/Quote]
哥们,这些我当然清楚了,不然我也不会用Android.mk打包了
非常感谢你的关注
主要问题是我通过Android.mk打包后,发现drawable-hdip文件没有被打入包中而drawable-mdip被打入包中,所以我猜测肯定是哪个地方的配置问题,导致打包,只打入了mdip的文件,而这个配置的地方,一直都不是很清楚,所以问问哪个大神用到过
  • 打赏
  • 举报
回复
虚心学习!
dream_and_life_szy 2011-07-30
  • 打赏
  • 举报
回复
学习!
4in 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aspects 的回复:]

android.mk 只表示你现在可以编译这个apk 一个apk程序有一个android.mk 如果你在eclipse中 你可以直接打包 如果你新做的模块 可以把你的程序放在android的源码中一起编译 编译过后就可以在out/../../ 目录下生成你的apk程序 你只需把你的apk 拷贝出来安装就可以了
[/Quote]
还可以利用命令$ 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
ameyume 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aspects 的回复:]

android.mk 只表示你现在可以编译这个apk 一个apk程序有一个android.mk 如果你在eclipse中 你可以直接打包 如果你新做的模块 可以把你的程序放在android的源码中一起编译 编译过后就可以在out/../../ 目录下生成你的apk程序 你只需把你的apk 拷贝出来安装就可以了
[/Quote]
正解,如同系统自带的那些apk,就是这么办的。
zhengjiuITba 2011-07-30
  • 打赏
  • 举报
回复
额学习学习不太清楚~!
ji66 2011-07-30
  • 打赏
  • 举报
回复
关注!
aspects 2011-07-30
  • 打赏
  • 举报
回复
android.mk 只表示你现在可以编译这个apk 一个apk程序有一个android.mk 如果你在eclipse中 你可以直接打包 如果你新做的模块 可以把你的程序放在android的源码中一起编译 编译过后就可以在out/../../ 目录下生成你的apk程序 你只需把你的apk 拷贝出来安装就可以了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧