引用自定义资源需注意数据类型
16lz
2021-01-23
Android 2.3.3 Eclipse Version: 3.7.0 LogCat
Console 报错信息:
[2012-02-15 13:16:21 - tmall] ------------------------------[2012-02-15 13:16:21 - tmall] Android Launch![2012-02-15 13:16:21 - tmall] adb is running normally.[2012-02-15 13:16:21 - tmall] Performing com.taobao.htc.Start activity launch[2012-02-15 13:16:21 - tmall] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'nokia'[2012-02-15 13:16:21 - tmall] Uploading taobao.apk onto device 'emulator-5554'[2012-02-15 13:16:26 - tmall] Installing tmall.apk...[2012-02-15 13:16:29 - tmall] Installation error: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION[2012-02-15 13:16:29 - tmall] Please check logcat output for more details.[2012-02-15 13:16:29 - tmall] Launch canceled!
发生错误原因分析:
安装解析失败,遇到未知错误。
分析AndroidManifest.xml,发现android:versionCode引用自定义资源
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.tmall.nokia" android:versionCode="@string/app_versionCode" android:versionName="@string/app_versionName">
在strings.xml中也有app_versionCode对应值
<?xml version="1.0" encoding="utf-8"?><resources><string name="app_versionCode">2</string>
在Eclipse中未提示错误。
根据在AndroidManifest.xml中直接配置versionCode值的经验,其应为整数,否则Eclipse报错。
error: Error: String types not allowed (at 'versionCode' with value 'a2.0').
error: Error: Float types not allowed (at 'versionCode' with value '2.0').
error: Error: Boolean types not allowed (at 'versionCode' with value 'false').
解决办法:
修改xml配置
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.tmall.nokia" android:versionCode="@integer/app_versionCode" android:versionName="@string/app_versionName">
<?xml version="1.0" encoding="utf-8"?><resources><integer name="app_versionCode">2</integer>
重新运行,通过。
不管是直接配置,还是使用引用资源,android:versionCode的值都只能是整数。
引用资源,一定要使用可用的数据类型。
PS:Eclipse的Problems并不是万能,不是所有错误都能提前提示。
更多相关文章
- android studio常见错误及异常处理记录
- android studio 错误总结
- Android 编译错误::app:transformClassesWithPreJackPackagedLib
- Android中drawable使用Shape资源
- Android各种资源详解
- android中资源整理
- Android中String资源文件的format方法
- Android 启动模拟器是出现“Failed to allocate memory: 8”错误