在代号为1上运行本机C ++代码

时间:2015-12-07 08:55:51

标签: codenameone

我有一个Android应用程序,我使用JNI(Java Native Interface)运行本机C ++代码。我想将它移植到一个代号,以便它也可以在iOS上运行。代号为JNI的替代方法是什么,允许我运行我的原生C ++代码?

2 个答案:

答案 0 :(得分:2)

您可以从Objective-C调用C ++,我们在iOS端口的ZXing演示中执行此操作,请参阅:http://github.com/codenameone/codenameone-demos

对于Android,您需要使用NDK包装C ++代码才能使用它。 Chen在博客文章中讨论过这段话:http://www.codenameone.com/blog/integrating-android-3rd-party-libraries-jni.html

相关部分是:

  

我们最近添加了第三个选项:aar文件。 aar文件是来自Google的二进制格式,代表Android库项目。   Android库项目的一个问题是   它需要项目来源,这使得第三方很难   供应商发布库,所以android引入了aar文件   是一种表示库项目的二进制格式。

     

要了解有关arr的更多信息,请阅读this

     

您可以通过将aar文件放在native / android和之下来链接它   构建服务器将它链接到项目。

请注意,对于Android,您可能希望使用新的gradle构建系统,这也可以使这更简单:http://www.codenameone.com/blog/material-icons-background-music-geofencing-gradle.html

答案 1 :(得分:1)

Codenameone有它的原生界面,允许添加本机代码。

每个平台都有它的本机代码,据我所知,C ++不在其中任何一个。

我建议您手动将代码从C ++转换为Java和Objective-C,并且可以在实现CN1本机接口时使用这些代码。

阅读本地界面here,并查看native demo

相关问题