【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
生活随笔
收集整理的這篇文章主要介紹了
【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、Android 命令行與 PC 可執行 JAR 文件不兼容
- 二、Android 命令行使用 dalvik 命令不能直接執行 Kotlin 編譯的 dex 文件
前言
嘗試在 Android 系統中執行 Java 程序 , 【開發環境】Android 命令行中執行 Java 程序 ( IntelliJ IDEA 中創建 Java / Kotlin 工程 | dx 打包 DEX 字節碼文件 | dalvikvm 命令 ) , 出現的錯誤記錄 ;
一、Android 命令行與 PC 可執行 JAR 文件不兼容
嘗試將 【開發環境】Android 命令行中執行 Java 程序 ( IntelliJ IDEA 中創建 Java / Kotlin 工程 | dx 打包 DEX 字節碼文件 | dalvikvm 命令 ) 三、編譯在 PC 上可執行的 Java / Kotlin JAR 包 生成的 JAR 包打包成 dex 文件 , 打包過程中出錯 ;
報錯信息 :
D:\002_Project\003_Java_Work\workspace\AndroidShell\out\artifacts>dx --dex --output kotlin.dex AndroidShell_jar\AndroidShell.jarPARSE ERROR: class name (kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsResourceLoader) does not match path (META-INF/versions/9/kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsResourceLoader.class) ...while parsing META-INF/versions/9/kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsResourceLoader.class 1 error; aborting D:\002_Project\003_Java_Work\workspace\AndroidShell\out\artifacts>直接打包字節碼文件是成功的 , 打包 PC 上的可執行文件失敗 ;
二、Android 命令行使用 dalvik 命令不能直接執行 Kotlin 編譯的 dex 文件
使用
dalvikvm -cp kotlin.dex StudentKt命令 , 執行 Kotlin 編譯的 dex 文件 , 報錯如下 :
1|walleye:/data/system/debug/AndroidShell # dalvikvm -cp kotlin.dex StudentKt Exception in thread "main" java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;at StudentKt.main(Unknown Source:2) Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Intrinsics" on path: DexPathList[[dex file "kotlin.dex"],nativeLibraryDirectories=[/system/lib64, /system/lib64]]at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)at java.lang.ClassLoader.loadClass(ClassLoader.java:379)at java.lang.ClassLoader.loadClass(ClassLoader.java:312)... 1 more 1|walleye:/data/system/debug/AndroidShell #Java 代碼編譯的 Dex 文件可以執行 ;
總結
以上是生活随笔為你收集整理的【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【开发环境】Android 命令行中执行
- 下一篇: 【错误记录】Android NDK 编译