Android 库工程 提示case expressions must be constant expressions 错误

问题描述:

 在库工程中存在如下代码:

代码示例

int id = view.getId();
switch (id) {
    case R.id.button1:
     action1();
    break;
    case R.id.button2:
    action2();
    break;
    case R.id.button3:
    action3();
break;
}    

会提示case expressions must be constant expressions 错误

问题原因:

ADT14后Android库工程中R.class中的资源常量不在为final类型,具体解释见资料链接。

问题解决:

相关资料:

http://tools.android.com/tips/non-constant-fields

时间: 2024-08-01 10:47:32

Android 库工程 提示case expressions must be constant expressions 错误的相关文章

Android导入工程提示Invalid project description

在eclipse里导入的时候报错,提示 Invalid project description. 解决办法: 在eclipse的workspace中,找到.metadata文件夹,依次打开------->.plugins文件夹------->org.eclipse.core.resources文件夹------->.projects文件夹 找到你的项目包名一样的文件夹,删除它. 然后从你的workspace中把你的整个项目文件剪切到别的文件夹下,最后重新导入项目,ok 完事. Andro

android库工程jar打包和混淆

公司有个项目需要以库的形式提供给第三方使用,但是java代码又不想别人知道,还有资源文件也需要一起打包,很常见的需求,下面就是解决此事的过程. 1.直接将库工程提供给第三方,android库工程引用方式 被老板pass,代码客户都可以看到,不行. 2.将库工程TestLib的src导出成jar,把res目录直接发给第三方 失败.导出的jar依然是引用库工程的R文件(com.test.lib.R),但是资源提供给第三方后,生成的R为com.test.R,因此运行时找不到com.test.lib.R

android switch语句case expressions must be constant expressions

在项目中遇到这样的Exception:case expressions must be constant expressions public class StandingCityActivity extends Activity implements View.OnClickListener{} @Override public void onClick(View v) { switch (v.getId()) { case R.id.back: break; default: break;

Library Project里面使用Case语句判断R.id值报错。case expressions must be constant expressions

原文地址:http://blog.csdn.net/wchinaw/article/details/7325641 在一般的Android项目里R里面的资源声明看起来是这样的: public static final int ... 但是在ADT14之后,声明是这样的 public static int .. 所有case语句换成if 就可以了 Non-constant Fields in Case Labels In a regular Android project, constants i

android项目引入第三方库工程出现的问题及解决方案

一.导入libar库工程 1.使用第三方库工程libary,基本上都是从github上下载,解压后里面有个libary文件夹 2.将libary导入到eclipse中,步骤如下 1)在eclipse包管理器中,右键点击import,进入 2)选择红色部分,点击next 3)将libary导入,且勾选[copy projects into workspace](必须勾选),点击完成 二.android工程引用libary 1.新建一个android工程Mytest 2.右键MyTest属性 3.操

android studio依赖库工程Activity显示问题及库工程设置

android studio引用库工程其实不难,直接添加依赖module即可,但是我在操作过程中出现一些奇怪的问题,苦扰我一整天,为了祭奠这苦命的一天特别mark一下. 首先描述一下我的错误现象: studio配置完成后我就迫不及待的创建了一个项目,然后把以前用的库工程(eclipse工程)导入到studio中,然后创建一个项目引用一下看看效果咋样,以下分别描述两个项目遇到的问题: 出现问题: 1.调用库工程方法正常,但是在运行的时候提示我启动图标错误,原因是库工程和项目工程设置的启动图标指向同

[cocos2dx笔记004] android增加静态库工程

(基于2.2.2版本) 这步比较麻烦,不像vs2013那样好设置.参考了很多文章.还是不能解决问题.只有慢慢摸索了.在这里贴出来,希望能让大家能少走点弯路. 还是其于前面的文章提到的mylib这个例子.[cocos2dx笔记003] Vs2013增加静态库工程首先进到external\mylib,用文本编辑器打Android.mk 并修改图中圈中的部分 修改结果如下 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE :

Android NDK工程的编译和链接调试

前提条件:已经安装了JDK 6.0.android SDK.NDK r9和eclipsele4.2开发环境. 推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载Android NDK既可以开始Android NDK程序的编程了. 1.     首先在eclipsele4.2上创建一个空的Android工程,无所谓,只要是一个Android工程就OK了. 2.     安装NDK开发的插件com.android.ide.eclipse.ndk_23.0.2.1

Gradle 编译多个工程(包含多Library库工程依赖)指导

Gradle Android最新自动化编译脚本教程(提供demo源码) 这篇文章我简单写了基于Gradle2.1 进行的android project和android library的编译实例,随后有网友问我是否支持依赖多library编译,我的回复是肯定的,详细见下面的指导: 在实际开发中有很多工程引用到了android-support-v4.jar或者其他的jar包资源: 有时候,在每个library库的libs里都放进android-support-v4.jar 在eclpse里编译运行是