本文将以Android的USB串口通讯库为例,介绍Delphi如何在Android中使用Java的库。
USB串口通讯库地址:
https://github.com/felHR85/UsbSerial
一、Java库编译
1.安装Android Studio
2.在Android Studio中将SDK路径指向Delphi的SDK路径(避免重复安装SDK)
3.下载UsbSerial,用Android Studio打开,
3.1Android Studio设置(File->Settings)
gradle设置
3.2设置工程属性:
选择SDK版本:
4.编译UsbSerial(Build-》Make Project)
编译过程可能需要下载Gradle相关文件。
编译完成后将生成classes.jar
5. 生成DEX文件
5.1生成dex需要用到一个 dx.bat,具体目录是在%Android%\build-tools\28.0.3(%Android%为Android SDK目录,28.0.3不特指,每个tools下都有的,%Android%使用的不一定是C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows)
5.2进入cmd.exe 配置环境变量:路径是dx.bat下的目录
set ANDROID_HOME=\C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows
set path="C:\Program Files (x86)\Java\jdk1.8.0_144\bin";%PATH%
dx --dex --output=C:\DelphiComps\UsbSerial\bin\usbserial.dexC:\DelphiComps\UsbSerial\bin\classes.jar
这样就生成了usbserial.dex
二、合并dex文件
生成的dex文件需要与Delphi自带的dex文件进行合并。
Delphi自带的dex文件分为Debug版本,和Release版本,路径分别在%BDS%\lib\android\Debug,%BDS%\lib\android\Release
继续在cmd.exe中:
set BDS=C:\Program Files (x86)\Embarcadero\Studio\19.0
set path="C:\Program Files (x86)\Java\jdk1.8.0_144\bin";%PATH%
java -cp %DX_LIB%\dx.jar com.android.dx.merge.DexMerger debug_classes.dex %BDS%\lib\android\Debug\classes.dex .\usbserial.dex
java -cp %DX_LIB%\dx.jar com.android.dx.merge.DexMerger release_classes.dex %BDS%\lib\android\Release\classes.dex .\usbserial.dex
如果是Debug模式:
copy debug_classes classes.dex
如果是Release模式:
copy Release_classes classes.dex
三、生成Delphi访问接口
Delphi 10.1以上自带的Java2OP工具,能够自动生成java类的接口文件。
在Cmd.exe中
set BDS=C:\Program Files (x86)\Embarcadero\Studio\19.0
set path="C:\Program Files (x86)\Java\jdk1.8.0_144\bin";%PATH% set path=%BDS%\bin\converters\java2op";%PATH% java2op -jar classes.jar Android.JNI.UsbSerial.pas
当前文章:Delphi在Android下使用Java库的方法-创新互联
分享链接:http://tyjierui.cn/article/dcpgge.html