问题标签 [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 回答
4614 浏览

android - 使用多个进程的应用程序是否共享一个 Dalvik 实例?

我正在研究 Android 进程管理,我想知道使用多个进程(不是线程)的应用程序是否共享一个 Dalvik 实例,或者每个进程是否存在一个 Dalvik 实例,即使对于同一个应用程序也是如此。

你能给我指出一些官方来源(文档、谈话、论文等)吗?

谢谢

0 投票
2 回答
8063 浏览

android - dalvikvm中的Android异常

当我在手机上启动我的应用程序时,我从日志中收到很多以下错误:

发生了什么 ?

0 投票
2 回答
226 浏览

android - 关于外星人达尔维克的一些问题

各位开发者,

正如您在 Engadget 所看到的,该公司开发了“Alien Dalvik”,这是一种使 Dalvik 能够在任何其他平台(如 Meego)上运行的中间件。 http://www.engadget.com/2011/02/08/myriad-alien-dalvik-runs-android-apps-on-any-phone-starting/

如果中间件移植到其他平台,比如 MeeGo,那么用户在什么渠道下载应用程序?安卓市场?

0 投票
2 回答
2126 浏览

android - 原生库如何在 Android 中执行?

我在想当一个android应用程序加载一个本地库时,这个库是如何执行的?apk 中的 dex 文件由 dalvik VM 执行,但是当 OPcodes 中的逻辑调用库中的方法(不是 dex 格式)时,VM 是否暂停并等待进程(此应用程序和 VM 正在运行)执行库?谢谢

0 投票
0 回答
1697 浏览

android - DexFile.loadDex 挂起

任何 android 专家都可以阐明为什么这种方法会挂起?

当我暂停线程并查看堆栈时:

...您可以看到它挂在本机方法 DexFile.openDexFile 中,它永远不会返回。

这对我们正在编写的应用程序造成了严重的问题。它是随机发生的,因此表明多个线程之间存在某种竞争条件,但我连接了检测和死锁,而且我希望本机方法能够返回一些东西,即使是异常也会很好!

提前致谢

我正在使用 Android 2.2 Nexus One 设备,我正在将应用程序从 eclipse 部署到设备。为了确保我完全卸载了应用程序并重新启动设备,我仍然随机看到上述问题。

更新:我在 Android 2.3.3 模拟器(API 10)上重试并遇到了同样的问题。我现在确信这里有一个重大错误。我创建了一个简单的测试用例来显示问题。基本上,我将一个 dexified jar 添加到 android 项目的 assets 文件夹中。在启动时,我将此文件复制到应用程序数据区域。然后我启动 x 个线程并在每个线程中使用 DexFile.loadDex 加载这个 dexified jar 文件,但为生成的优化 dex 文件提供不同的输出文件名。如果您选择 x 表示 30 个线程,您几乎可以保证看到多个线程挂起。

只是为了确保我重复了测试,每个线程都有自己独特的 dexified jar 文件。出现同样的问题。

我看到的唯一 LogCat 输出可能提示出了什么问题:

02-23 11:59:23.097: 调试/dalvikvm(12598): DexOpt: 在羊群上睡觉(/data/dalvik-cache/system@framework@core.jar@classes.dex) 02-23 11:59:23.138:调试/dalvikvm(12602):DexOpt:在羊群上睡觉(/data/dalvik-cache/system@framework@core.jar@classes.dex)02-23 11:59:23.357:调试/dalvikvm(12602):DexOpt:在羊群上睡觉(/data/dalvik-cache/system@framework@framework.jar@classes.dex)02-23 11:59:23.419:调试/dalvikvm(12598):DexOpt:在羊群上睡觉(/data/dalvik- cache/system@framework@framework.jar@classes.dex) 02-23 11:59:23.528: DEBUG/dalvikvm(12608): DexOpt: 在羊群上睡觉(/data/dalvik-cache/system@framework@core.jar @classes.dex)02-23 11:59:23.577:调试/dalvikvm(12598):DexOpt:在羊群上睡觉(/data/dalvik-cache/system@framework@services.jar@classes.dex)02-23 11 :59:23.698:调试/dalvikvm(12606):DexOpt:睡在羊群上(/data/dalvik-cache/system@framework@core.jar@classes.dex)

另一个有趣的事情是,作为一个例子,我有一个 dexified jar 文件

myjar.jar(大小 5031)

每个打开这个 dex 文件的线程都会创建一个文件

myjar.jarX.dex(其中 X 是每个线程的唯一整数)(大小 4152)

未完成 DexFile.loadDex 调用的线程仍然设法创建了一个 myjar.jarX.dex 文件,但该文件的大小为 3496

我相信在 Dalvik 本机代码的深处存在某种形式的竞争条件。这对我们来说是一个很大的展示。任何建议如何最好地进行?

0 投票
2 回答
2340 浏览

android - dalvik 上的字节码注入

我在android平台上问过这个问题,但没有收到回复。我提到了这个线程,但找不到他指的是什么帖子(动态地将 Dalvik 字节码生成到正在运行的 Dalvik/Android 应用程序中

此外,提出了这个问题(http://code.google.com/p/android/issues/detail?id=6322

所以,我的问题是,

  1. 在这方面有没有进展?
  2. 是否可以将新的字节码注入正在加载的类中?
  3. 如果是这样,任何指向相同的指针?

干杯。厄伦斯

0 投票
2 回答
1832 浏览

python - 用python或其他语言生成dex文件

是否可以在运行时使用 python、perl 或类似语言生成 dalvik 字节码?

谢谢

0 投票
3 回答
645 浏览

java - 从 Android 手机的 Blogspot 博客中提取 HTML 数据

我环顾四周,找不到任何有用的东西。这是我想做的事情:

  1. 从 a 中提取第一个帖子
  2. Blogspot 博客 在屏幕上显示

我需要一些可以从 html 页面中的特定标签和 id 中提取数据的东西。我还需要它与 Dalvik 格式兼容,因为对于某些库,它说转换失败并且我的应用程序不起作用。如果它也是直截了当的就好了。

有什么建议么?

0 投票
2 回答
4993 浏览

android - Android 权限是如何执行的?

如果我socket()在 JNI C 方法中调用函数,应用程序仍然会失败并出现权限错误。如果我在 AndroidManifest.xml 中添加了 uses-permission 行,问题就解决了。

因此,似乎在 Dalvik 虚拟机中没有实现 Android 权限检查,因为我正在调用本机 C 函数并且仍然被检查。我想知道如何在 Android 内核中执行检查,或者通过ptrace拦截每个系统调用或任何其他方式来跟踪应用程序。非常感谢。

0 投票
1 回答
204 浏览

android - 带有基本 android/dalvik 框架的小型(< 15 兆字节)文件系统

我尝试创建一个非常小的分区(根文件系统),我可以在其中运行用 Java(android dalvik)编写的程序。这些应用程序不会使用电话、多媒体、浏览器等花哨的功能。它只会运行一些不使用 UI 的服务,并使用“基本”android 的东西,如意图、服务、活动、binderaidl。我对小型 Linux 发行版上的 JVM 不感兴趣,因为它不提供基本的 android 功能,如意图/服务等。我打算将应用程序作为系统应用程序预安装在这个文件系统上。因此无需在以后安装它们。

android平台构建文件中是否有编译开关来创建这样的“根文件系统”?或者这是否可以用最少的努力(少于几天的工作)来实现?