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

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

阅读更多
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是什么...

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

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

    西门子TIA博图数据块中数据类型的定义.pdf

    在数据块中,可以定义多种不同的数据类型,这些数据类型包括基本数据类型、复杂数据类型和用户自定义数据类型。 基本数据类型是TIA博图中预定义的一些简单数据类型,如布尔型(BOOL)、整型(INT)、实型(REAL)等...

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

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

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

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

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

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

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

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

    JAVA数据类型思维导图

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

    第7章 自定义数据类型 知识点.docx

    自定义数据类型是编程语言中一个重要的特性,它允许我们创建符合特定需求的复杂数据结构。在C++中,自定义数据类型最常见的方式就是通过结构体(struct)。本章将详细阐述结构体的声明、定义、数组、指针以及在函数...

    Qt引用Qt自定义库

    在Qt项目中引用自定义DLL,首先需要在项目的.pro文件中添加相应的链接选项。例如,在给定的内容中,`LIBS+=-LC:/Qt/4.2.3/exampletyc/libinqtuserage/mylib/debug/-lmylib`这行代码表示添加了一个链接路径,并指定了...

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

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

    java 数据类型讲解

    - **类** (`Class`):用户自定义的数据类型,用于封装数据和行为。 - **数组** (`Array`):用于存储固定数量的元素集合。 - **接口** (`Interface`):定义了一组方法,但没有提供实现。 #### 三、数据类型的声明与...

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

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

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

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

    Apusic服务器解决数据源的资源引用

    在Apusic服务器中,数据源的资源引用通常采用JNDI(Java Naming and Directory Interface)技术实现,常见的命名格式为`java:comp/env/`加上自定义的资源名称。 例如: ``` ds = (DataSource) ctx.lookup("java:...

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

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

    自定义天气图片 文件

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

    wpf 自定义 封装的控件

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

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

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

    WPF自定义UI风格

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

Global site tag (gtag.js) - Google Analytics