文章目录

  • 前言
  • 一、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 文件报错 )相关推荐

  1. Windows命令行运行Java程序

    如何在Windows命令行运行Java程序 准备工作 1.安装JDK 安装JDK(Java Development Kit Java开发工具包 又称SDK)Oracle公司JDK下载地址,直接下载,然 ...

  2. java命令行运行 package_使用命令行运行Java程序

    很久没有试过用Java命令行来运行程序了.今天用的时候都感觉有点不太顺利了.所以特别记下来,以免后边什么时候又忘掉. 首先是将编写好的Java程序放在某一文件夹下边.(本文以D盘javabasecod ...

  3. 服务器运行程序 网络错误怎么办,网站出现:ldquo;/rdquo;应用程序中的服务器错误。该如何解决?_已解决 - 阿里巴巴生意经...

    网站出现:"/"应用程序中的服务器错误.该如何解决? 未指定的错误 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出 ...

  4. 如何用命令行写java程序_如何用java实现doc命令行

    如何用java实现doc命令行, dir显示当前所有目录下的文件 cd 文件目录 进入到该目录 cd ..退到上级目录,一面是我写的代码,调试了. 不过有点小bug就是当你进去的是文件就会提示空指针异 ...

  5. 从命令行及java程序运行MyBatis Generator 1.3.x生成MyBatis3.x代码

    为什么80%的码农都做不了架构师?>>>    近期因为项目需要,调研了myBatis 3.x的使用,当然,顺便也就研究了一下使用Generator来通过逆向工程生成pojo,map ...

  6. java 程序命令_命令行运行JAVA程序

    如果出现找不到变量,核查环境变量是否配置好 可以运行javac java java -version看是否正常 注意要在对应的目录下 核查java文件里边的名字 class文件名是否与java文件名一 ...

  7. 如何在命令行运行java程序

    1.先在命令行进入到保存java程序的文件夹下 进入方法: 1.按住win + R进入命令行 2.输入cmd,回车或点击确认 3.进入文件夹找到java文件所在地址 4.复制路径 5.命令行输入文件所 ...

  8. java中错误的源文件_如果我的Java源文件中存在语法错误,为什么Eclipse会生成.class文件?...

    当我使用 Eclipse IDE创建项目时,即使我的代码中存在语法错误,它也会生成一个类文件? class Test { public void test(String value) { System ...

  9. java 不显示控制台_命令行启动java程序不显示控制台窗口

    关键:start javaw –jar xxx.jar 一个例子: ============================================= @ECHO OFF REM " ...

最新文章

  1. 主成分分析二级指标权重_羡慕神仙权重?主成分与因子分析带你揭开权重的秘密...
  2. 大数据与智能算法(二-应用级技术)-SMU在线学习笔记
  3. php 论坛_推荐一个基于话题的高性能轻型开源PHP论坛程序
  4. Android 使用RadioButton+Fragment构建Tab
  5. thinkPHP仿QQ飞车手游模拟抽奖源码
  6. php cii订单导出,使用 kingcms.php 建立一个留言本【附模型代码】
  7. 保存单文件为mhtml
  8. 软件方法上竞赛自测题答案
  9. 安卓下最强的3款pdf阅读器测评
  10. 软件开发可行性分析规范
  11. 给定三角形三个顶点的坐标,如何求三角形的外心的坐标呢?
  12. 用IAR调试芯唐Cortex-M0系列芯片指南
  13. js去掉url中的域名的方法
  14. 大四去NTT面试软件实习生的个人总结
  15. 百度网盘外链采集分析 爬取百度网盘用户分享 自建百度网盘文件链接搜索引擎
  16. 如何修改mtp模式在电脑上显示的存储容量大小?
  17. Git版本回退的最佳方式
  18. 视频教程-①Spring Cloud 第一季(初级入门篇)-Java
  19. 缺陷检测中的分类、检测与分割网络
  20. springmvc+ajaxfileupload异步上传

热门文章

  1. 恢复SQL Server被误删除的数据
  2. php操作session
  3. Python脚本导出为exe程序
  4. 【SICP练习】94 练习2.67
  5. c++ TCP keepalive 使用
  6. 用shell脚本监控进程是否存在 不存在则启动的实例
  7. 分享20个非常有用的Web开发工具和框架
  8. poj(百练) 2743解题报告
  9. 二叉树的建立和遍历的各种问题
  10. 今天下棋,结合以前一些技巧的总结