问题标签 [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 实例?
我正在研究 Android 进程管理,我想知道使用多个进程(不是线程)的应用程序是否共享一个 Dalvik 实例,或者每个进程是否存在一个 Dalvik 实例,即使对于同一个应用程序也是如此。
你能给我指出一些官方来源(文档、谈话、论文等)吗?
谢谢
android - dalvikvm中的Android异常
当我在手机上启动我的应用程序时,我从日志中收到很多以下错误:
发生了什么 ?
android - 关于外星人达尔维克的一些问题
各位开发者,
正如您在 Engadget 所看到的,该公司开发了“Alien Dalvik”,这是一种使 Dalvik 能够在任何其他平台(如 Meego)上运行的中间件。 http://www.engadget.com/2011/02/08/myriad-alien-dalvik-runs-android-apps-on-any-phone-starting/
如果中间件移植到其他平台,比如 MeeGo,那么用户在什么渠道下载应用程序?安卓市场?
android - 原生库如何在 Android 中执行?
我在想当一个android应用程序加载一个本地库时,这个库是如何执行的?apk 中的 dex 文件由 dalvik VM 执行,但是当 OPcodes 中的逻辑调用库中的方法(不是 dex 格式)时,VM 是否暂停并等待进程(此应用程序和 VM 正在运行)执行库?谢谢
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 本机代码的深处存在某种形式的竞争条件。这对我们来说是一个很大的展示。任何建议如何最好地进行?
android - dalvik 上的字节码注入
我在android平台上问过这个问题,但没有收到回复。我提到了这个线程,但找不到他指的是什么帖子(动态地将 Dalvik 字节码生成到正在运行的 Dalvik/Android 应用程序中)
此外,提出了这个问题(http://code.google.com/p/android/issues/detail?id=6322)
所以,我的问题是,
- 在这方面有没有进展?
- 是否可以将新的字节码注入正在加载的类中?
- 如果是这样,任何指向相同的指针?
干杯。厄伦斯
python - 用python或其他语言生成dex文件
是否可以在运行时使用 python、perl 或类似语言生成 dalvik 字节码?
谢谢
java - 从 Android 手机的 Blogspot 博客中提取 HTML 数据
我环顾四周,找不到任何有用的东西。这是我想做的事情:
- 从 a 中提取第一个帖子
- Blogspot 博客 在屏幕上显示
我需要一些可以从 html 页面中的特定标签和 id 中提取数据的东西。我还需要它与 Dalvik 格式兼容,因为对于某些库,它说转换失败并且我的应用程序不起作用。如果它也是直截了当的就好了。
有什么建议么?
android - Android 权限是如何执行的?
如果我socket()
在 JNI C 方法中调用函数,应用程序仍然会失败并出现权限错误。如果我在 AndroidManifest.xml 中添加了 uses-permission 行,问题就解决了。
因此,似乎在 Dalvik 虚拟机中没有实现 Android 权限检查,因为我正在调用本机 C 函数并且仍然被检查。我想知道如何在 Android 内核中执行检查,或者通过ptrace
拦截每个系统调用或任何其他方式来跟踪应用程序。非常感谢。
android - 带有基本 android/dalvik 框架的小型(< 15 兆字节)文件系统
我尝试创建一个非常小的分区(根文件系统),我可以在其中运行用 Java(android dalvik)编写的程序。这些应用程序不会使用电话、多媒体、浏览器等花哨的功能。它只会运行一些不使用 UI 的服务,并使用“基本”android 的东西,如意图、服务、活动、binderaidl。我对小型 Linux 发行版上的 JVM 不感兴趣,因为它不提供基本的 android 功能,如意图/服务等。我打算将应用程序作为系统应用程序预安装在这个文件系统上。因此无需在以后安装它们。
android平台构建文件中是否有编译开关来创建这样的“根文件系统”?或者这是否可以用最少的努力(少于几天的工作)来实现?