使用 app_process 运行 java 包

欢迎访问我的博客首页。


使用 app_process 运行 java 包

  • 1. 生成 java 包
  • 3. 参考

1. 生成 java 包


  app_process 可以运行一般的 jar 文件和安卓的 dex 文件。为了不依赖安卓,这一步我们以 jar 文件为例,需要 jdk 环境。假设主类名为 example,使用命令行从 java 文件得到 jar 文件的命令如下:

# 1. 把 java 文件编译成 class 文件。
javac example.java

# 2. 把 class 文件打包成 jar 文件。
jar cvfe example.jar example example.class

# 3. 运行 jar 文件。
java -jar example.jar 12581

  使用解压软件解压 example.jar 可以得到一个名为 META-INF 的文件夹和一个 example.class 文件。文件夹 META-INF 中只有一个 MANIFEST.MF 文件,称为主清单。

Manifest-Version: 1.0
Created-By: 11.0.12 (Oracle Corporation)
Main-Class: example

  主清单中必须有 Main-Class 这一行,否则运行 jar 文件会报错没有主清单属性。jar 命令的 cvf/cvfe/cvfm 选项用于配置主清单。

  使用 cvf 得到的主清单没有 Main-Class 属性,需要手动使用解压软件打开(不是解压)主清单并添加 Main-Class 属性;使用 cvfe 需要在命令中指定 Main-Class 属性;使用 cvfm 需要事先编辑好主清单,然后在命令中指定主清单。

jar cvf example.jar example.class
jar cvfe example.jar example example.class
jar cvfm example.jar MANIFEST.MF example.class

  所以,相比 cvfm,使用 cvfe 选项更简单。

3. 参考


  1. cvfe 和 cvfm,CSDN,2017。

你可能感兴趣的:(安卓开发,java)