`
debuglog
  • 浏览: 195305 次
社区版块
存档分类
最新评论

引用自定义资源需注意数据类型

阅读更多
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并不是万能,不是所有错误都能提前提示。

1
0
分享到:
评论
1 楼 fantouch 2012-05-30  
原来这样

相关推荐

    易语言源码易语言DLL返回自定义数据类型源码.rar

    在“易语言源码易语言DLL返回自定义数据类型源码.rar”这个压缩包中,包含的是一段使用易语言编写的动态链接库(DLL)的源代码,该代码涉及到了如何在DLL中定义并返回自定义数据类型。 首先,我们需要理解DLL是什么...

    易语言自定义数据类型使用源码

    自定义数据类型在内存管理上需要注意,特别是当数据类型包含动态分配的资源(如动态数组、内存块等)时,需要确保在不再使用时释放这些资源,防止内存泄漏。 通过以上知识点,我们可以理解易语言自定义数据类型的...

    DLL返回自定义数据类型.rar

    注意,跨进程传递自定义数据类型时,由于内存空间隔离,直接返回自定义对象的引用或指针可能会导致问题。因此,通常建议使用拷贝或深拷贝方式,或者使用序列化和反序列化技术来交换数据。 此外,易语言作为一款面向...

    易语言多线程传递自定义数据(免加延时方法)

    2. **参数传递**:通过函数参数将数据传递给线程,可以是基本类型、结构体或引用类型。 3. **共享数据与线程同步**:使用全局变量或共享内存,配合同步原语避免数据冲突。 4. **事件驱动编程**:利用事件替代延时,...

    COM(activex)使用自定义类型传递数据

    5. 接口继承:自定义类型通常会继承自`IUnknown`接口,这是所有COM接口的基础,包含了`QueryInterface`、`AddRef`和`Release`三个方法,用于接口查询、引用计数和释放资源。 在ActiveX中,自定义类型的应用通常涉及...

    易语言-易语言启动线程传自定义数据类型参数

    综上所述,易语言启动线程传自定义数据类型参数涉及到线程创建、参数传递、自定义数据类型定义、线程安全以及面向对象编程等多个关键知识点。理解并掌握这些内容,对于编写高效、安全的多线程程序至关重要。实际编程...

    JAVA数据类型思维导图

    本资源“JAVA数据类型思维导图”提供了一种直观的方式来理解和记忆Java中的数据类型,包括基本数据类型和引用数据类型。下面将对这两个主要的数据类型进行详细解释。 1. 基本数据类型(Primitive Data Types) - ...

    java、mysql以及oracle数据类型对照表

    Java的数据类型主要分为基本类型(如int、double、boolean)和引用类型(如类、接口和数组)。MySQL和Oracle的数据类型则针对存储和操作数据库中的各种数据类型进行了优化。 MySQL的数据类型包括数值类型(如INT、...

    silverlight使用数据模板自定义数据显示

    这极大地提高了UI设计的自由度,因为我们可以根据需要为每个数据类型创建不同的模板。 数据模板通常应用于数据绑定,这是将UI元素与后台数据源连接起来的过程。在Silverlight 3.0中,我们可以使用`Binding`类来实现...

    易语言自定义数据类型访问提速源码-易语言

    总的来说,这个“易语言自定义数据类型访问提速源码”是一个宝贵的教育资源,它涵盖了易语言编程中的重要概念和高级技术,对于想要提升易语言编程技能的开发者来说,是一份不可多得的学习材料。通过深入研究和实践,...

    自定义列绑定数据不显示的问题_control_c#自定义dll_

    综上所述,解决自定义控件在DLL中数据不显示的问题,需要从多个角度进行排查,包括正确引用DLL、设置数据绑定、处理控件生命周期、确保线程安全以及优化性能。对于具体问题,可以结合代码分析和调试工具,逐步定位并...

    自定义天气图片 文件

    描述中提到“如果一些免费的接口返回的图片信息和自己UI不匹配”,这暗示了开发者可能在寻找或已经创建了一套与第三方天气API返回数据相匹配的自定义图像资源。 在iOS应用开发中,`plist`是一种常用的数据存储格式...

    wpf 自定义 封装的控件

    - 自定义控件分为两种类型:`UserControl`和`CustomControl`。`UserControl`是将多个基本控件组合在一起,方便复用;而`CustomControl`则更深入,可以改变控件的模板和行为。 2. **创建自定义控件**: - 创建...

    完整版子程序返回数组演示(自定义类型实现).e.rar

    在编程领域,子程序(或称函数、方法)是代码组织的基本单元,它们负责执行特定的任务,并可能根据需要接收输入参数并...对于学习和理解如何在子程序中有效地处理数组和自定义类型,这个示例项目将是一个宝贵的资源。

    WPF自定义UI风格

    6. **动态资源和静态资源**:在引用样式时,可以选择使用静态资源(StaticResource)或动态资源(DynamicResource)。静态资源在编译时解析,性能较好,但不能在运行时更改;动态资源在运行时解析,允许动态更新。 ...

    161个VBA 自定义函数

    3. **变量声明**:在函数内部,需要先声明变量并指定数据类型,如`Dim myVar As Integer`。 4. **控制结构**:VBA函数中可使用If...Then...Else、Select Case、For...Next、Do...Loop等控制结构来实现条件判断和...

    数据结构-抽象数据类型-树

    抽象数据类型是定义数据类型的一种方法,它独立于任何特定的编程语言,只关注数据类型的操作和行为,而不是实现细节。在树的ADT中,我们定义了一些基本操作,如插入节点、删除节点、查找节点以及遍历等。 1. **树的...

    WPFDevelopers自定义控件库

    这个库可能包含各种类型的自定义控件,例如: - 数据可视化控件:如图表、仪表盘,帮助展示复杂的数据。 - 导航控件:如自定义的菜单、工具栏,提供更流畅的导航体验。 - 交互控件:如滑块、日期选择器,增强用户...

    每天学点C++(C++实例教程:教程+源码)数据类型.zip

    本教程将深入探讨C++中的各种数据类型,包括基本数据类型、复合数据类型以及自定义数据类型。 一、基本数据类型 1. 整型:C++提供了几种不同大小的整数类型,包括`int`、`short`、`long`和`long long`。它们通常...

    编写JSF用户自定义UI组件(之五)

    6. **组件的使用**:在JSF页面中,通过 `&lt;cc:component&gt;` 或 `&lt;mynamespace:componentName&gt;` 标签引用自定义组件,并设置相应的属性值。 7. **测试和调试**:创建自定义组件后,需要在实际应用中测试其功能,确保...

Global site tag (gtag.js) - Google Analytics