📌  相关文章
📜  @"%~dp0d2j_invoke.bat" (1)

📅  最后修改于: 2023-12-03 15:29:14.152000             🧑  作者: Mango

@"%~dp0d2j_invoke.bat" 介绍

@"%~dp0d2j_invoke.bat" 是一个批处理文件,用于调用 D2J 编译工具,将 Java 字节码转换为 Dalvik 字节码,以便在 Android 系统上运行。

使用方法
  1. 下载 D2J 编译工具,并将其解压到某个目录下。

  2. @"%~dp0d2j_invoke.bat" 文件复制到 D2J 工具目录下。

  3. 在命令行中进入 D2J 工具目录,执行以下命令:

    @&quot;%~dp0d2j_invoke.bat&quot; [options] <file(s)>
    

    其中,[options] 为可选的 D2J 编译选项, <file(s)> 为需要编译的 Java 字节码文件或类文件。

选项说明

@&quot;%~dp0d2j_invoke.bat&quot; 支持以下选项:

  • -h:显示帮助信息。
  • -f:强制覆盖已存在的输出文件。
  • -o <dir>:指定输出目录。
  • -e <file>:指定将要编译的 Jar 文件或 Apk 文件的路径。
  • -r <file>:指定将要编译的 Jar 文件或 Apk 文件中的某个 DEX 文件的路径。
  • -z <file>:指定将要编译的 Zip 文件中的某个 Jar 文件的路径。
  • -x <file>:指定将要编译的 Zip 文件中的某个 DEX 文件的路径。
  • -c:对编译后的 Dex 文件进行压缩。
示例

以下命令将 HelloWorld.class 文件编译为 Dalvik 字节码,并将输出文件保存到 out 目录中:

@&quot;%~dp0d2j_invoke.bat&quot; -o out HelloWorld.class
代码片段
@echo off

rem D2J Invoke
rem 用于调用 D2J 编译工具将 Java 字节码转换为 Dalvik 字节码
rem Created By: helloworlde
rem Version: 1.0

setlocal enableextensions

set prog=%~n0

set classpath=.;%prog%.jar
for %%i in (lib/*.jar) do set classpath=!classpath!;%%i

set mainClass=%prog%

if "%1" == "" set /p cmdLineArgs=请输入命令行参数: 
if "%1" == "" goto endCmdLine

set cmdLineArgs=%1 %2 %3 %4 %5 %6 %7 %8 %9

:runCommand
  java -classpath "%classpath%" "%mainClass%" %cmdLineArgs%
goto endBatch

:endCmdLine
  java -classpath "%classpath%" "%mainClass%"

:endBatch
endlocal
参考文献