使用 app_process 运行 jar 包

  • Post author:
  • Post category:其他



欢迎访问我的博客

首页



使用 app_process 运行 jar 包



1. 生成 jar 包


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 需要事先编辑好主清单,然后在命令中指定主清单。

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

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



3. 参考



  1. cvfe 和 cvfm

    ,CSDN,2017。



版权声明:本文为qq_26697045原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。