标签: dalvik

"在外部JAR上转换为Dalvik格式失败,错误为1"

在我在Eclipse中的Android应用程序中,我收到以下错误.

意外的顶级异常:
java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser;
....
转换为Dalvik格式失败,错误1

仅当我将特定外部JAR文件添加到项目时才会出现此错误.我搜索了很长时间以寻找可能的解决方案,但没有一种可行的解决方案可行.我甚至尝试更改为Android 1.6而不是1.5(我使用的当前版本).

android dalvik android-sdk-1.6

905
推荐指数
31
解决办法
48万
查看次数

无法在Eclipse中执行dex:GC开销限制

当我下载Git项目OsmAnd并编译它时,Eclipse返回了以下错误:

[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd]     Conversion to Dalvik format failed: 
             Unable to execute dex: GC overhead limit exceeded
Run Code Online (Sandbox Code Playgroud)

谷歌和#2说,我必须改变-Xms40m -Xmx384meclipse.ini. 转换为Dalvik格式失败:无法执行dex:Java堆空间.
我清理了项目并重新启动了Eclipse,但它没有帮助.

我找到了这个链接:Android开发人员的提示:"转换为Dalvik格式失败:无法执行dex:null" 但我不知道哪个.jar从我的项目中更改输入.如果有人可以提供帮助,我可以将项目发送到他们.

java android out-of-memory dalvik

211
推荐指数
4
解决办法
11万
查看次数

为什么基于JVM堆栈和Dalvik VM注册?

我很好奇,为什么Sun决定以JVM堆栈为基础,Google决定以DalvikVM注册为基础?

我想JVM不能真正假设目标平台上有一定数量的寄存器,因为它应该是平台无关的.因此,它只是将寄存器分配等推迟到JIT编译器.(如我错了请纠正我.)

所以Android人员认为,"嘿,那效率很低,让我们马上去找一个基于寄存器的vm ......"?但等等,有多个不同的Android设备,Dalvik的目标是多少个寄存器?Dalvik操作码是否针对一定数量的寄存器进行了硬编码?

目前市场上所有Android设备的寄存器数量是否相同?或者,是否在dex-loading期间执行了寄存器重新分配?这一切如何结合在一起?

jvm computer-architecture dalvik cpu-registers vm-implementation

95
推荐指数
3
解决办法
2万
查看次数

什么是Dalvik和dalvik-cache?

我知道这可能是Android中的一个基本问题.但什么是Dalvik和dalvik-cache?

android dalvik

74
推荐指数
1
解决办法
8万
查看次数

Android中的ODEX文件是什么?

android安装了一些应用程序后,我发现它将在智能手机中更改为odex文件(而不是apk).它是如何发生的?谁能教我,我对它很感兴趣.

android virtual-machine dalvik android-source

74
推荐指数
3
解决办法
12万
查看次数

是否可以在运行时从Android应用程序动态加载库?

有没有办法让Android应用程序在运行时下载和使用Java库?

这是一个例子:

想象一下,应用程序需要根据输入值进行一些计算.应用程序请求输入这些值,然后检查所需的Classes或Methods是否可用.

如果没有,它将连接到服务器,下载所需的库,并在运行时加载它以使用反射技术调用所需的方法.实施可能会根据各种标准(例如下载库的用户)而发生变化.

reflection android classloader dalvik android-library

69
推荐指数
2
解决办法
4万
查看次数

我可以从Dalvik和Android工具链中得到什么样的优化?

我正在开发一个高性能的Android应用程序(游戏),尽管我首先尝试编写可读性代码,但我想在脑海中留下一个关于幕后发生的事情的图片.使用C++,我已经对编译器将为我做什么和不做什么做了很好的直觉.我正在尝试为Java/Android做同样的事情.

因此这个问题.我在网上找不到这个话题.Java编译器,Dalvik转换器(dx)和/或JITter(在Android 2.2+上)是否会执行如下优化?

  • 方法内联.在什么条件下?private方法总是可以安全地内联; 这样做会吗?public final方法怎么样?关于其他类对象的方法?static方法?如果编译器可以轻松推导出对象的运行时类型,该怎么办?我要声明的方法finalstatic在可能的情况?

  • 常见的子表达式消除.例如,如果我访问someObject.someField两次,查找只会进行一次吗?如果它是对吸气剂的召唤怎么办?如果我使用一些算术表达式两次会怎么样 它只会被评估一次吗?如果我使用某些表达式的结果,我知道它的值不会改变,作为for循环的上限,该怎么办?

  • 检查数组查找的边界.工具链是否会在某些条件下消除这种情况,例如原型for循环?

  • 价值内联.访问一些public static final int总是内联?即使他们在另一个班级?即使他们在另一个包裹?

  • 分支预测.这甚至有多大问题?是否会在典型的Android设备上大幅提升性能?

  • 简单算术.将someInt * 2被取代someInt << 1

诸如此类......

java optimization android dalvik

67
推荐指数
3
解决办法
7587
查看次数

我可以在Android Dalvik上使用哪些编程语言?

理论上,Dalvik执行任何虚拟机字节代码,例如使用编译器创建

  • AspectJ的
  • ColdFusion的
  • Clojure的
  • Groovy的
  • JavaFX脚本
  • JRuby的
  • Jython的
  • 犀牛
  • 斯卡拉

Dalvik的字节码编译器的工作版本是否可用于除Java之外的其他语言?

python java android scala dalvik

64
推荐指数
3
解决办法
2万
查看次数

学习Smali的最佳方式是什么(以及如何/何时使用Dalvik VM操作码)?

我认识Java,并且学过C但从未使用它.我不知道任何形式的组装,无论是虚拟机还是真实机器.

学习如何攻击Smali的最佳方法是什么?

java android dalvik smali

61
推荐指数
3
解决办法
6万
查看次数

Android Build失败 - java.lang.IllegalArgumentException:已添加:Lcom/google/api/client/escape/CharEscapers;

我只是为我的Android应用程序准备了小更新,但是当我尝试构建我的应用程序(在调试模式下)时,我得到了这个奇怪的错误.如果聪明的人能够看到这个以找出可能出错的地方,那将会很棒.我正在清理/重建/修复项目属性,但没有结果.我没有任何线索:(也许类似的事情发生在这里的任何人?如果这可以帮助我使用以下库:adMob(4.1.1),openfeint和libgdx.

这里是构建日志:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/google/api/client/escape/CharEscapers;
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[2011-12-08 21:56:42 - JellyBallsFree] Dx   at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[2011-12-08 …
Run Code Online (Sandbox Code Playgroud)

java android build dalvik adt

58
推荐指数
3
解决办法
8万
查看次数