问题标签 [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.

0 投票
1 回答
274 浏览

java - Dalvik 和乱序写入

Java 规范允许编译器和 VM 重新排序内存写入以提高效率。Dalvik VM 是否充分利用了这一点?

免责声明:即使 Dalvik 不这样做,我也不打算依赖订单(除了编译器也可能这样做),但很高兴知道。

0 投票
1 回答
380 浏览

android - 德尔维克还是达尔维克?

Android 的虚拟机在其官方网站上被称为“Dalvik”,但我发现在一些论坛和文章中,Android 的虚拟机也使用了“Delvik”这个名称。那么有人可以帮我弄清楚什么是'Delvik'吗?这只是拼写错误还是其他什么?非常感谢:)。

0 投票
2 回答
1168 浏览

android - 如何在 IntelliJ IDEA(社区版)中使用 Scala 源构建 Android 项目?

我正在尝试使用 IntelliJ IDEA(社区版)中的 Scala 源代码构建 Android 项目。我正在使用 Java 文件中的 Scala 源代码:自动完成工作正常,但 build 无法解析 Java 中的 Scala 类:cannot find symbol class MyScalaClass.

(我在 Eclipse 中进行了管理,但 Eclipse 中的 Scala 支持很差。)

任何提示或教程?

更新:除了 Android 模块之外,我还添加了 Scala 模块。classes.dex现在,在生成消息时构建失败:

我发现这是 Dalvik 的一个限制:issue 7147

如何在不使用 Ant 脚本的情况下去除 IDEA 中未使用的方法/类?(我在 Ant 脚本中使用 ProGuard,但我无法让 IDEA 解析来自 Ant 结果的 Scala 错误消息。)

0 投票
4 回答
11051 浏览

android - Linux OS 和 Mobile OS (android) 的根本区别

嗨,我想了解移动设备的操作系统与台式机的操作系统有何不同。特别是内存管理,调度等。

我知道移动操作系统必须做一些其他的事情,比如电源管理,并且担心内存容量较小。

有没有人有任何好的资源来了解移动操作系统与桌面操作系统的技术差异,尤其是关于 android OS 的技术差异?

0 投票
5 回答
9058 浏览

android - 是否可以在 android 应用程序中注入代码?

我想在运行时在 android 应用程序中注入代码。我曾尝试使用 dx 工具在 sdcard 中生成 dexfile,但是当我想实例化时,它失败了。是否有任何工具可以注入代码生成新的 dalvik 字节码?我正在研究一些库、aspect 或 guice for android。使用脚本语言会更好吗?

谢谢人们:)

0 投票
4 回答
8150 浏览

android - Android上的Scala:java.lang.NoSuchMethodError:java.lang.String.isEmpty

我在 Android 2.2.1 上遇到异常:

java.lang.NoSuchMethodError: java.lang.String.isEmpty

text.isEmpty从 Scala 打来电话。任何想法,如何解决这个问题?

0 投票
4 回答
11389 浏览

android - 为什么 android 建立在 VM 上(Dalvik)

我很想知道是什么让 google 选择在 java VM 上开发 android 的框架。

在为android编写代码近6个月的过程中,我观察到在资源有限的平台上的VM上运行代码真的很慢。涉及很多开销。我知道 java 是可移植的等等,难道根本不可能使用本地语言并获得 VM 提供的性能和功能吗?对于面向性能的应用程序,最终还是要编写本机代码并用 JNI 包装它,

那么为什么谷歌选择这个特定的堆栈:

  1. 基于ARM的内核(可以理解,ARM最适合移动设备)
  2. Linux(开源)
  3. Java VM(我的问题)

编辑:我知道 java - JVM 在我的服务器上与 C++ 应用程序一样运行,但在 android 上却没有。关于 android,情况并非如此-根据我的经验,用 JNI 包装的 C++ 代码比 java 代码运行得快得多(注意,我什至检查了 java 中静态块中完全相同的代码)我会同意你的在任何其他平台上回答。

0 投票
2 回答
1555 浏览

android - Hello World “转换为 Dalvik 格式失败”

我在 10.6.5 上安装了以下开发环境:

  • Eclipse SDK 3.6.1
  • Android SDK 工具 r8
  • Android SDK 平台工具 r1
  • 安卓 SDK 2.2
  • 安卓 SDT 8.0.1

然后,当我创建Hello World时,出现错误:

转换为 Dalvik 格式失败,错误 1

我已经尝试了一切,因为这个错误过去出现过很多原因,但我仍然有同样的问题。

提前致谢

0 投票
1 回答
1106 浏览

java - 更改 dalvik/libcore 会导致重建整个框架

我正在向 Dalvik libcore 方法(例如 libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java 中的文件打开方法)添加一些拦截例程,我认为这只会更改基本共享库. 但令我惊讶的是,每次我在修改后运行make时,它​​几乎都会重新构建框架的所有内容,例如计算器应用程序、W3C DOM 解析器等。在一个小修改后构建框架确实需要时间。我想知道修改dalvik libcore后是否可以减少重建组件的数量?谢谢。

0 投票
2 回答
1170 浏览

java - 如何分析 Dalvik GC 行为?

我正在Android上开发一个应用程序。它是一个长期运行的应用程序,可以持续处理传感器数据。在运行应用程序时,我在 logcat 中看到很多 GC 消息;大约每秒一个。

这很可能是因为在循环中创建并立即取消引用的对象。

如何找到正在创建和立即释放的对象?

我尝试过的所有 Java 堆分析工具(*)都被堆上对象的数量和大小所困扰。虽然它们很有用,但我更感兴趣的是找出创建临时短期对象最多的站点。

(*) 我试过jcatEclipse MAT。我无法hat处理 Android 堆转储;它抱怨不支持的转储文件版本。