Как выполнить файл dex в Android с помощью команды?

Может ли кто-нибудь поделиться методом выполнения файла dex в Android с помощью команды?

Это просто для понимания.


person Pratik    schedule 17.04.2012    source источник
comment
Вы имеете в виду, как создать файл dex с помощью SDK из командной строки?   -  person yorkw    schedule 18.04.2012


Ответы (1)


Допустим, у вас есть следующий код в файле HelloWorld.java:

public class HelloWorld {
    public static void main(String[] args) {
         System.out.println("Hello World!");
    }
}

Чтобы запустить его на устройстве Android:

javac HelloWorld.java
dx --dex --output=classes.dex HelloWorld.class
zip HelloWorld.zip classes.dex
adb push HelloWorld.zip /sdcard/

Для GB или ранее вы должны просто сделать:

adb shell dalvikvm -cp /sdcard/HelloWorld.zip HelloWorld

Для ИКС+:

adb shell mkdir /sdcard/dalvik-cache
adb shell ANDROID_DATA=/sdcard dalvikvm -cp /sdcard/HelloWorld.zip HelloWorld
person JesusFreke    schedule 17.04.2012
comment
Я пытался распечатать android.os.Build.VERSION.SDK_INT. Сбой с java.lang.UnsatisfiedLinkError. Доступен ли какой-либо из android.* каким-либо образом? - person Gena Batsyan; 12.09.2015
comment
@GenaBatsyan - пожалуйста, создайте новый вопрос с более подробной информацией (фрагмент кода, трассировка стека и т. д.). Пометьте его тегом dex, и я увижу :) - person JesusFreke; 12.09.2015
comment
Поехали :) stackoverflow.com/questions/32564192/ - person Gena Batsyan; 14.09.2015
comment
Вы также можете использовать app_process вместо dalvikvm (что запустит ART вместо Dalvik в новых API) - person mister_potato; 26.01.2019
comment
даже dalvikvm — это просто устаревшая команда, которая фактически запускает ART, начиная с lolipop. - person JesusFreke; 26.01.2019