Запуск исполняемого банку в android

Можно ли запустить исполняемый файл jar (на основе командной строки) в android? один из моих друзей сказал мне, что можно запускать исполняемые файлы, написанные на C. Возможно ли это для java? Я запустил инструмент через оболочку adb.

Ответ 1

Вы можете установить приложение, созданное как APK, через adb:

adb install my_apk_file.apk

А попав в оболочку adb, вы можете запустить приложение APK с помощью команды am. См. Как запустить приложение с помощью инструментов Android ADB?

Но я не думаю, что есть способ запустить файл JAR напрямую, как это можно сделать в настольной операционной системе, потому что Android не использует стандартную Java VM.

Я думаю, вам нужно встроить файл .jar в минимальное приложение для Android, которое вызывает jar и печатает результаты на стандартный вывод. Затем вы должны собрать этот APK и установить/запустить его, как я описал выше.

Ответ 2

Android использует VM Dalvik, тогда как вам нужна виртуальная машина Java для запуска jar файла. Нет, вы не можете запустить jar файл на Android.

Ответ 3

Единственная проблема с запуском jar внутри Android - это JVM, которая под Android - это Dalvik VM, которая не может запускать java-программы JSE.

Однако вы можете использовать JBed, который запускает JVM JVM под Android: http://jbed.en.malavida.com/android/

Ответ 4

На самом деле, вы можете запустить Java-код через UI Automator. Создайте jar, добавьте классы стиля junit и просто запустите его через UI Automator.

Ответ 5

Можно ли запустить исполняемый файл JAR (на основе командной строки) в Android?

возможно, проверьте "adb shell input" shellscript → "exec app_process"

[email protected]:/ $ 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 "[email protected]"