java - Dalvik - 将 java 文件添加到项目时局部变量类型不匹配 - 没有 proguard

标签 java android proguard dalvik

我的 android 项目编译和构建得很好,但是,当我添加 NanoHTTPD java 文件(纯 java 1 文件 http 服务器)时,启动时出现以下错误(没有 proguard)。


[2013-03-20 23:28:56 - test] Dx 
EXCEPTION FROM SIMULATION:
[2013-03-20 23:28:56 - test] Dx local variable type mismatch: attempt to set or access a value of type int using a local variable of type java.io.ByteArrayInputStream. This is symptomatic of .class transformation tools that ignore local variable information.

[2013-03-20 23:28:56 - test] Dx ...at bytecode offset 0000009d
locals[0000]: Lcom/my/android/test/NanoHTTPD$HTTPSession;
locals[0001]: Ljava/io/InputStream;
locals[0002]: I
locals[0003]: [B
locals[0004]: I
locals[0005]: I
locals[0006]: I
locals[0007]: 
locals[0008]: 
locals[0009]: 
locals[000a]: 
locals[000b]: 
locals[000c]: 
locals[000d]: 
locals[000e]: 
locals[000f]: 
locals[0010]: 
locals[0011]: 
locals[0012]: 
locals[0013]: 
locals[0014]: 
locals[0015]: 
locals[0016]: 
locals[0017]: 
locals[0018]: 
locals[0019]: 
locals[001a]: 
locals[001b]: [I
...while working on block 009d
...while working on method run:()V
...while processing run ()V
...while processing com/my/android/test/NanoHTTPD$HTTPSession.class

[2013-03-20 23:28:56 - test] Dx 
EXCEPTION FROM SIMULATION:
[2013-03-20 23:28:56 - test] Dx local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.

[2013-03-20 23:28:56 - test] Dx ...at bytecode offset 000002cd
locals[0000]: Lcom/my/android/test/NanoHTTPD;
locals[0001]: Ljava/lang/String;
locals[0002]: Ljava/util/Properties;
locals[0003]: Ljava/io/File;
locals[0004]: I
locals[0005]: Lcom/my/android/test/NanoHTTPD$Response;
locals[0006]: Ljava/io/File;
locals[0007]: [Ljava/lang/String;
locals[0008]: Ljava/lang/String;
locals[0009]: 
locals[000a]: 
locals[000b]: 
locals[000c]: 
locals[000d]: 
locals[000e]: 
locals[000f]: 
locals[0010]: 
locals[0011]: 
locals[0012]: 
locals[0013]: 
locals[0014]: 
locals[0015]: 
locals[0016]: [I
stack[top0]: Ljava/lang/String;
...while working on block 02cd
...while working on method serveFile:(Ljava/lang/String;Ljava/util/Properties;Ljava/io/File;Z)Lcom/my/android/test/NanoHTTPD$Response;
...while processing serveFile (Ljava/lang/String;Ljava/util/Properties;Ljava/io/File;Z)Lcom/my/android/test/NanoHTTPD$Response;
...while processing com/my/android/test/NanoHTTPD.class

这只发生在当前项目上,当我在其他项目上使用 NanoHTTPD 时不会发生这种情况。

我该如何解决这个问题?

最佳答案

结果是一个 Eclipse 插件做到了这一点 - CodePro BY GOOGLE! 他们的代码覆盖工具以某种方式导致了上述错误(可能与 emma 有关,但这只是猜测)。

关于java - Dalvik - 将 java 文件添加到项目时局部变量类型不匹配 - 没有 proguard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535371/

相关文章:

java - 如何从 App Engine 数据存储中获取文本?

android - 在 fragment 中显示可点击列表

android - 尽管是 "clickable",但单击时 TextView 不提供反馈

java - 使用 Proguard 混淆 WAR 文件

java - 安卓存储密码的正确方法

java - 将 Scala 嵌套 Map 转换为 Java 嵌套 util.Map

java - 这是代码中的一种死锁吗?

java - NumberFormatException Android Java

java - 使用混淆器时选取框工具栏标题不起作用

Java Ant - 如何传递 ProGuard 任务参数并在配置文件中使用它们?