java2op.exe(“java Object Pascal)是一个命令行工具,你可以使用它送Java库中(JAR or class files)生成Delphi原生桥接文件。你可以在安卓中使用这些生成的桥接文件提供给Delphi应用访问Java库。查看这篇文章在RAD Studio安卓应用使用自定义Java库

使用

要使用此工具,只需调用工具的任何你喜欢组合选项:

java2op.exe [选项]

您必须指定至少一个输入选项,该选项指示您希望在输出Delphi原生桥接文件中包含哪些内容。

你输出原生桥接文件不包括RAD Studio内置的Android java库部分,除非你显式指定这些成员使用该类的成员参数。

任何你从RAD Studio安卓内置的Java库指定的依赖成员类,导致原生桥接文件不重新定义这些成员;相反,它包括RAD Studio已经声明这些成员。

输入选项

选项描述

-classes空格分隔的类或包的名称列表导出

-classes让你定义指定的java源的特定子集 (-jar or -source options) 或 Android API.

-jar-Jar分隔输入java编译的库列表 (.jar文件).指定文件的所有API成员都在生成的原生桥接文件上进行解析和声明

-source空间分隔输入文件夹包含java源文件的列表 (.java文件). 指定文件夹中所有文件的API成员都在生成的原生桥接文件上进行解析和声明。

输出选项

选项描述

-unit输出单元的文件名

默认: Android.JNI.Interfaces

例子

从Android API中输出一些类和包

Java2OP.exe -classes android.net.ConnectivityManager android.location.*

从mylib.jar输出所有的类:

Java2OP.exe -jar mylib.jar

从mylib.jar输出一个单独类

Java2OP.exe -jar mylib.jar -classes com.mypackage.ClassName

从java源文件夹指定输出Delphi单元中输出所有类

Java2OP.exe -source myproject/src -unit Android.JNI.UnitName

故障排除

丢失JDK

“Missing JDK. Please install JDK 1.7+ or make sure that it is on your PATH”

使用java2op.exe,您必须安装java JDK 1.7 +。

如果你已经安装了JDK,你仍然得到这个错误,原因是JDK的二进制文件夹没有任何在你的PATH环境变量的路径。添加你的JDK安装目录的bin文件夹到你的路径。

例如,命令行中输入:

SET PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_25\bin

EListError error

“EListError error raised, with message : Duplicates not allowed”

您不止一次指定源文件或JAR文件。

因为默认情况下java2op.exe包括Android API作为输入,如果手动使用-jar选项包括Android API的JAR文件你也得到这个错误。例如,这不工作:

Java2OP.exe -jar android.jar

如果您想从Android API中提取成员,只需指定一个类选项即可。例如:

Java2OP.exe -classes android.animation.*