是否可以在android中运行可执行jar文件(基于命令行)? 我的一个朋友告诉我,可以运行用C编写的可执行文件。是否有可能是java?我将通过adb shell运行该工具。
答案 0 :(得分:7)
Android使用Dalvik VM,而您需要Java VM来运行jar文件。所以不,你不能在android上运行jar文件。
答案 1 :(得分:3)
您可以通过adb安装构建为APK的应用:
adb install my_apk_file.apk
一旦进入adb shell,您就可以使用am
命令启动APK应用程序。见How to start an application using android ADB tools?
但我不认为有一种方法可以在桌面操作系统上直接运行jar文件,因为Android不使用标准Java VM。
我认为您需要将.jar文件嵌入到调用jar并将结果打印到stdout的最小Android应用程序中。然后你将构建该APK并按照我的描述安装/运行它。
答案 2 :(得分:2)
在Android中运行jar的唯一问题是JVM,它在Android下是一个无法运行JSE编译的java程序的Dalvik VM。
然而,您可以使用在Android下运行整个JSE JVM的JBed:http://jbed.en.malavida.com/android/
答案 3 :(得分:1)
实际上,您可以通过UI Automator运行java代码。 创建一个jar,添加junit样式类,然后通过UI Automator运行它。
答案 4 :(得分:0)
是否可以在以下位置运行可执行的jar文件(基于命令行) 机器人?
可能的话,请检查“ adb shell输入” 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 "$@"
答案 5 :(得分:0)
您无法像在jar files
上运行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 Developers, Run jar/jad on Android
很少有文章声称有将jar转换为apk的方法,我自己还没有尝试过: jar to apk 如果它不起作用,则可能需要使用仿真器: