是否可以在 android 中运行可执行的 jar 文件(基于命令行)?我的一位朋友告诉我,可以运行用 C 编写的可执行文件。java 也可以吗?我将通过 adb shell 运行该工具。
5 回答
Android 使用 Dalvik VM,而您需要 Java VM 来运行 jar 文件。所以不,你不能在 android 上运行 jar 文件。
您可以通过 adb 安装构建为 APK 的应用:
adb install my_apk_file.apk
一旦进入 adb shell,您就可以使用该am
命令启动一个 APK 应用程序。请参阅如何使用 android ADB 工具启动应用程序?
但我认为没有办法像在桌面操作系统上那样直接运行 jar 文件,因为 Android 不使用标准的 Java VM。
我认为您需要将 .jar 文件嵌入到一个最小的 Android 应用程序中,该应用程序调用 jar 并将结果打印到标准输出。然后,您将构建该 APK 并按照我上面的描述安装/运行它。
是否可以在 android 中运行可执行的 jar 文件(基于命令行)?
可能,检查“adb shell input” shellscript -> “exec app_process”
shell@flo:/ $ ls -l /system/bin/input
-rwxr-xr-x root shell 203 2015-11-10 01:44 input
https://android.googlesource.com/platform/frameworks/base/+/oreo-release/cmds/input/input
# Script to start "input" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/input.jar
exec app_process $base/bin com.android.commands.input.Input "$@"
在 Android 中运行 jar 的唯一问题是 JVM,它在 Android 下是一个 Dalvik VM,它不能运行 JSE 编译的 java 程序。
但是,您可以使用在 Android 下运行整个 JSE JVM 的 JBed:http: //jbed.en.malavida.com/android/
您不能直接jar files
在 android 中运行,因为 android 运行在 android 上Dalvik Virtual Machine
,而要运行 jar 文件,您需要Java Runtime Environment
具有Java Virtual Machine
.
注意:您将需要 root 访问权限和具有 root 访问权限的文件管理器:
但您可以运行它,因为您必须安装应用程序Jbed.apk
并复制lib
jbed.so
到您的system\lib
文件夹。然后,您可以从您的 Android 设备上的应用程序运行 jar/jad 文件。
这是 jbed 的链接:http: //jbed.en.malavida.com/android/
在此处阅读有关 XDA 开发人员的完整帖子: XDA 开发人员,在 Android 上运行 jar/jad
很少有帖子声称有办法将 jar 转换为 apk,我自己没有尝试过: jar to apk 如果它不起作用,您可能需要使用模拟器: