Android dalvik虚拟机

标签 android process dalvik

我想知道,在 android 操作系统中是否有一种方法可以通过 adb shell、ndk 或 java 启动一个新的 Dalvik 虚拟机,该虚拟机不会从主 zygote 进程(zygote 虚拟机) fork ?

有人尝试在 adb 命令之一中成功使用:app_process、dalvikvm、dvz 吗?

感谢您的帮助

最佳答案

  1. 使用 dx 将字节码转换为 dex
  2. 使用dalvikvm来运行它

如果您需要帮助,请使用 -help 选项

$ dalvikvm -help

dalvikvm: [options] class [argument ...]
dalvikvm: [options] -jar file.jar [argument ...]

The following standard options are recognized:
  -classpath classpath
  -Dproperty=value
  -verbose:tag  ('gc', 'jni', or 'class')
  -ea[:<package name>... |:<class name>]
  -da[:<package name>... |:<class name>]
   (-enableassertions, -disableassertions)
  -esa
  -dsa
   (-enablesystemassertions, -disablesystemassertions)
  -showversion
  -help

The following extended options are recognized:
  -Xrunjdwp:<options>
  -Xbootclasspath:bootclasspath
  -Xcheck:tag  (e.g. 'jni')
  -XmsN  (min heap, must be multiple of 1K, >= 1MB)
  -XmxN  (max heap, must be multiple of 1K, >= 2MB)
  -XssN  (stack size, >= 1KB, <= 256KB)
  -Xverify:{none,remote,all}
  -Xrs
  -Xint  (extended to accept ':portable' and ':fast')

These are unique to Dalvik:
  -Xzygote
  -Xdexopt:{none,verified,all,full}
  -Xnoquithandler
  -Xjnigreflimit:N  (must be multiple of 100, >= 200)
  -Xjniopts:{warnonly,forcecopy}
  -Xjnitrace:substring (eg NativeClass or nativeMethod)
  -Xstacktracefile:<filename>
  -Xgc:[no]precise
  -Xgc:[no]preverify
  -Xgc:[no]postverify
  -Xgc:[no]concurrent
  -Xgc:[no]verifycardtable
  -XX:+DisableExplicitGC
  -X[no]genregmap
  -Xverifyopt:[no]checkmon
  -Xcheckdexsum

您还可以编译适用于 x86 的 dalvikvm 并在主机中运行它。

关于Android dalvik虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9025705/

相关文章:

java - 将 Android SDK 更新到最新版本和 ADT 19

android - 什么是 Dalvik 调试监控服务?

java - 如何让 ChipGroup 像 radioGroup 一样工作?

java - 无法从 firebase 数据库在文本查看器上设置文本

c - 我收到对我构建的 shell 的拒绝许可

python - 子进程完成时中断循环

java - DVM 和 ART 有什么区别?为什么 DVM 在 Lollipop 中已正式被 ART 取代?

android 编辑文本监听器

android - 在循环 Recyclerview android 中捕捉中心 onItemClick

python - 使用python在windows中获取ppid