为什么aapt转储标记在Linux上不起作用

时间:2010-08-11 02:40:49

标签: android aapt

我正在使用aapt从apks转储信息,它在Mac上工作正常,但在Ubuntu上失败。

这是两台机器的日志:

的Mac:

$ md5 test.apk 
MD5 (/Users/jlee/tmp/test.apk) = 022d63fa0e3e9f10f57550d8921088d9
$ aapt dump badging test.apk 
package: name='com.i9i8.nanopage' versionCode='46' versionName='1.2.18'
application: label='MoreGoodNews' icon='res/drawable/mushroom.png'
launchable activity name='com.i9i8.nanopage.StartupActivity'label='MoreGoodNews' icon=''
sdkVersion:'3'
targetSdkVersion:'7'
uses-permission:'android.permission.INTERNET'
uses-permission:'android.permission.ACCESS_NETWORK_STATE'
uses-permission:'android.permission.READ_PHONE_STATE'
uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
main
other-activities
other-services
supports-screens: 'small' 'normal' 'large'
locales: '--_--' 'zh' 'en'
densities: '160' '240'

Ubuntu的(10.04):

$ md5sum test.apk
022d63fa0e3e9f10f57550d8921088d9  /home/jlee/tmp/test.apk
$ aapt dump badging test.apk
ERROR getting 'android:versionName' attribute: attribute is not a string value
package: name='com.i9i8.nanopage' versionCode='46' 
$

两个aapt都来自最新的android-1.6平台,在Linux上是android-1.6_r03。

我还在Linux上尝试了以下版本的aapt:

android-1.5_r04-linux
android-2.0_r01-linux
android-2.1_r02-linux

它们都不起作用。

这是aapt的错误吗?或者我出错了什么?

1 个答案:

答案 0 :(得分:0)

嗯,我在android上打算但是,你设置了.bashrc文件吗?我的意思是你设置了android-sdk / tools的路径,你也可以尝试在shell中午餐并导航到android-sdk / tools文件夹,之后键入aapt dump badging test.apk。我不认为这是你的问题,但我认为你的问题也像我一样奇怪,我的问题是我安装了两次android-sdk,其中一个版本坏了。所以来自shell的命令工作很奇怪,因为路径指向旧的(损坏的)安装。 当您找到解决方案时,请在此处发布 感谢