簡體   English   中英

在android中運行一個可執行的jar

[英]Running an executable jar in android

是否可以在 android 中運行可執行的 jar 文件(基於命令行)? 我的一位朋友告訴我,可以運行用 C 編寫的可執行文件。 java 也可以嗎? 我將通過 adb shell 運行該工具。

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 文件嵌入到調用 jar 並將結果打印到標准輸出的最小 Android 應用程序中。 然后,您將構建該 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/

實際上,您可以通過UI自動器運行Java代碼。 創建一個jar,添加junit樣式類,然后通過UI Automator運行它。

您不能直接在 android 中運行jar files ,因為 android 在Dalvik Virtual Machine上運行,而要運行 jar 文件,您將需要具有Java Virtual Machine Java Runtime Environment

注意:您將需要 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如果它不起作用,您可能需要使用模擬器:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM