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.*