问题标签 [dalvik]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Dalvik 文件格式 (*.dx) 是否支持比 Java .class 文件更多的指令?
Dalvik VM 是否支持(就字节码而言)由于 .class 文件没有而目前未使用的东西?
例如,如果人们为他们的功能语言 XYZ 编写自己的 Source-to-DX 转换器,他们是否能够实现例如完整的尾调用,尽管 .class 文件仅在某些情况下支持尾调用?
android - 外部 JAR 上的“转换为 Dalvik 格式失败,错误 1”
在 Eclipse 中的 Android 应用程序中,我收到以下错误。
意外的顶级异常:
java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser;
....
转换为 Dalvik 格式失败,错误 1
仅当我将特定的外部 JAR 文件添加到我的项目时才会出现此错误。我为可能的解决方案搜索了很长时间,但没有一个可能的解决方案有效。
我什至尝试更改为 Android 1.6 而不是 1.5(我使用的当前版本)。
java - Android:转换为 Dalvik 格式失败:无法执行 dex:null
我正在尝试在 Android 上使用SmugFig SmugMug API。我想它是为 J2SE 设计的,所以我不确定它甚至可以在 Android 上运行,但我认为它值得尝试,而不是尝试创建自己的 API。
但是,当我加载项目时,出现以下错误:
它没有说明它在哪个包上失败,只是“Android 打包问题”,但在我添加 SmugFig 之前它没有这样做,它是依赖 JARS 到构建路径。
我应该去哪里看?或者这主要是我认为它不适用于那些库?
jvm - 为什么 JVM 是基于栈的,而 Dalvik VM 是基于寄存器的?
我很好奇,为什么 Sun 决定让 JVM 堆栈为基础,而 Google 决定让 DalvikVM 以寄存器为基础?
我想JVM不能真正假设目标平台上有一定数量的寄存器可用,因为它应该是平台独立的。因此,它只是将寄存器分配等推迟到 JIT 编译器。(如我错了请纠正我。)
所以安卓的人想,“嘿,那太低效了,让我们马上去一个基于寄存器的虚拟机......”?但是等等,有多个不同的 android 设备,Dalvik 的目标寄存器是多少?Dalvik 操作码是否针对一定数量的寄存器进行了硬编码?
市场上所有当前的 Android 设备是否具有大致相同数量的寄存器?或者,在 dex 加载期间是否执行了寄存器重新分配?这一切如何结合在一起?
android - WITH_OBJECT_HEADERS 启用了 Dalvik 的 GC?
据我所知,Dalvik VM 默认不支持分代 GC。
但是,我发现“ WITH_OBJECT_HEADERS
”编译标志可能与HeapInternal.h
文件中的分代 GC 有关。
有没有人尝试在启用此选项的情况下构建 Dalvik?你知道 Dalvik 对分代 GC 的支持吗?
java - 在 Android 上使用 mockito 加速编译
我目前正在使用 Eclipse 开发一个 android 应用程序:
- 该应用程序的一个项目
- 一个测试项目(Instrumentation 和 Pojo 测试)
在测试项目中,我正在导入 mockito 库以进行标准 POJO 测试。但是,当我导入库时,eclipse 中的编译时间从 1 秒猛增到 30 秒左右。原因似乎是每次都转换整个库。所以基本上,每次我想要测试的修改,我都必须等待 30 秒。
到目前为止,我发现的唯一解决方法是:
- 禁用“自动构建”
- 创建一个仅包含 pojo 测试的项目,并仅将 mockito 放在那里。
- 使用另一个编译速度更快的库(例如easymock)
还有什么建议吗?
java - 如何在 android/dalvik 上动态加载 Java 类?
我想知道是否以及如何在 dalvik 中动态加载 dex 或类文件,我编写的一些快速'n'dirty 测试函数是这样的:
而 Foo 接口是这个
f.dex 包含该接口的一些 dx'ed 实现:
上面的测试驱动程序在 defineClass() 处抛出,它不起作用,我调查了 dalvik 代码并发现了这一点:
http://www.google.com/codesearch/p?hl=en#atE6BTe41-M/vm/Jni.c&q=Jni.c ...
所以我想知道是否有人可以启发我,这是否可能以其他方式或不应该是可能的。如果不可能,任何人都可以提供为什么这是不可能的原因吗?
android - 在 Android 上加载“dexed”JAR 时解决错误
我正在尝试在 Android 上为 Felix 制作一个捆绑包,它可能会定期拍照。所有代码都编译得很好,Felix 可以解决它,但是当我尝试启动它时,我得到一个异常(java.lang.VerifyError)和 logcat 中的这个跟踪:
CameraHandler 类打开一个 Camera 对象,并实现 PictureCallback 和 AutoFocusCallback。
.jar 文件已通过简单的 'dx --dex --output=classes.dex ... && aapt add ... classes.dex' 被“dexed”。
我不知道为什么会出现这个错误,所以如果有人有解决方案......
谢谢
java - ClassNotFoundException Android
所以我今天在处理我的 Android 程序时遇到了一个问题。我有一个类可以将 XML 字符串转换为 Java 对象(第三方),它在常规 Java 项目中运行良好,但在 Android 上我得到了这个奇怪的错误:
出于显而易见的原因,我隐藏了我的应用程序名称和我的包,但我想知道是否有人遇到过这样的问题。类在正确的包中,这是我添加的一个库。我之前引用的其他类在那里并且可以制作。ClassNotFoundException
抛出a 是否还有其他原因?
谢谢,杰克
android - Linux X86 或 Mac 上的 Dalvik JIT 编译器构建
正如我从Google IO 2010 session中听到的,Dalvik JIT 编译器只支持 ARM 处理器。这是否意味着我自己在 Linux X86 或 Mac OS X 上构建的 Android 源代码不支持 JIT 编译器?
我应该使用带有 ARM 处理器的目标板来测试 Dalvik JIT 编译器吗?
谢谢!