第三方JNI SDK开发——Delphi xe5
来源:互联网 发布:费正清 中国新史 知乎 编辑:程序博客网 时间:2024/06/13 19:48
(* ************************************************ *)
(* *)
(* 编写:爱吃猪头肉 & Flying Wang *)
(* 上面的版权声明请不要移除。 *)
(* *)
(* ************************************************ *)
请大家从群共享下载(① FireMonkey[DELPHI XE5] 165232328)
java 文件 Classes.DEX 合并.zip
里头的
BuildDex.bat.utf8.txt
就是我们要讨论的重点。
我发现现在的 第三方 SDK 分 3 种。
1. HTTP 类的。webservice rest 等。用 INDY 控件 或 webservice rest 控件即可。
2. NDK SO 类的。大家看看 Androidapi.inc 和 Androidapi.NativeWindowJni 的内容,大家就知道如何调用了。EMB 代码中还有其他 SO 的。简单的说和 调用 DLL 差不多,就是不能 LoadLibrary。要静态定义接口。
3. JNI SO 类的。这种接口,给您 SO 的同时。会给您一些 JAVA 文件。
其中第 3 种里头还分 2 种。
3.1 JAVA 文件只有一个,就是 SO 文件的接口。
3.2 JAVA 文件很多,是对 SO 文件的再次封装。
我目前只知道 3.1 类型的做法。
先将 SO 文件发布到工程中。
打开工程后。
Project -> Deployment
打开的界面中
选择 configuration
选到 All configurations - All platforms 或者 All configurations - xxx platform。
在这个状态下 增加 或 删除 文件。
选择 新增 按钮,将 SO 文件加入。 然后编辑 RemotePath 列。路径是 \lib\armeabi ,就是和您的工程生成的 SO 文件放同一个目录。
然后 将 SDK 中的 JAVA 接口文件 带上路径 放入 SRC 目录。当然之前 SRC 里的文件目录都删了吧。
修改 BuildDex.bat 。
将里头的 JAVA 路径修改成您现在的路径。
顺便修改 BAT 中的各种路径定义。确保路径是正确的。
然后运行 BuildDex.bat 。
这样您就得到了带有 SDK 的 DEX 文件了。
这次您需要将 classes.dex 的发布修改下。不再从 EMB 的安装目录找这个文件,而是使用这个新生成的文件。
最后,您按照 群共享的文档 JNI 翻译 转 Delphi 的 经验 方法.txt 里头的说明,将您的 JAVA 接口文件翻译成对应的 JNI PAS 文件。
对于 3.2 类型的 SDK。
目前只能猜想
1. 直接将 JAR 和 DEX 合并,翻译 JAR 中的 大部分或者是有 JAVA 接口文件。
2. 想办法将 SDK 中的 JAVA 文件和 JAR 都和 DEX 合并。但是接口文件好像还是需要翻译的。
- 第三方JNI SDK开发——Delphi xe5
- Delphi XE5 的开发团队
- iOS开发(第三方使用)——百度地图鹰眼轨迹SDK接入
- iOS开发(第三方使用)——极光推送SDK接入
- iOS开发(第三方使用)——讯飞语音SDK接入
- Android开发接入第三方SDK流程
- 汇总Delphi第三方控件—报表、图表、界面、数据库
- 第三方SDK之——百度地图
- 第三方SDK之——百度地图
- Android使用第三方SDK——百度地图
- delphi 第三方控件
- iOS开发—第三方百度地图
- 第三方SDK
- 第三方sdk接入
- 即时通讯第三方SDK
- 第三方SDK:蒲公英
- 第三方SDK
- 第三方SDK:SMSSDK
- 文件分配表
- 输出文件夹中java文件的路径和文件数目
- 查找一个字符串中最大重复子串(C语言版)
- C - A strange lift 解题报告
- JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
- 第三方JNI SDK开发——Delphi xe5
- nagios插件之hpux系统内存检查
- 收集linux几个快捷键
- 硬盘MBR全面分析
- Android [USB]MTP的介绍?驱动如何安装?
- git 使用
- 隐藏链接和隐藏文字对seo的影响
- Android [USB]如何开关默认USB调试功能
- Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现