我正在使用 aapt 从 apks 中转储信息,它在 Mac 上运行良好,但在 Ubuntu 上失败。
这是两台机器的日志:
麦克:
$ 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 的错误吗?还是我做错了什么?
最佳答案
好吧,我是 android 初学者,但是,你设置了 .bashrc 文件了吗?我的意思是你是否正确设置了 android-sdk/tools 的路径,你也可以尝试启动 shell 并导航到 android-sdk/tools 文件夹,然后键入 aapt dump badging test.apk。我不认为这是你的问题,但我认为你的问题也和我的一样奇怪,我的问题是我安装了 android-sdk 两次,其中一个版本被破坏了。因此来自 shell 的命令工作起来很奇怪,因为路径指向旧的(损坏的)安装。 当您找到有关此问题的解决方案时,请在此处发布 谢谢
关于android - 为什么 aapt dump badging 在 Linux 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454893/