在IOS和Android上使用JNI

在IOS和Android上使用JNI,android,c++,ios,java-native-interface,Android,C++,Ios,Java Native Interface,是否使用JNI和C++代码在IOS和Android之间共享库代码? 我之所以这样问是因为我认为这不仅节省了我们在两个平台中实现相同逻辑的大量浪费时间,而且我们将有一个C++内核支持我们的模块逻辑过程的速度。 更新: 我用另一种方式问我的问题: 推荐共享一个C++库,用于Android和iOS版本的类似应用程序的核心功能吗?还是最好把代码完全迁移到多平台语言?因为我记得当时的需求,我知道混合应用不是一个选项,JNI也不是用来制作跨平台的应用程序,但最好的用途是通过Android的原生UNIX脚本来

是否使用JNI和C++代码在IOS和Android之间共享库代码? 我之所以这样问是因为我认为这不仅节省了我们在两个平台中实现相同逻辑的大量浪费时间,而且我们将有一个C++内核支持我们的模块逻辑过程的速度。 更新:

我用另一种方式问我的问题:


推荐共享一个C++库,用于Android和iOS版本的类似应用程序的核心功能吗?还是最好把代码完全迁移到多平台语言?

因为我记得当时的需求,我知道混合应用不是一个选项,JNI也不是用来制作跨平台的应用程序,但最好的用途是通过Android的原生UNIX脚本来驱动硬件外设,或者在Android上运行C++代码。因此,如果我们省略等,我们将面临几个迄今为止吸引了许多开发人员注意的跨平台技术

该框架是由创建Mono的人创建的,Mono是一套符合Ecma标准的.NET framework兼容工具。Xamarin为开发者提供了一个C#代码库,可用于为所有主要移动操作系统生成本地应用程序

与许多其他框架不同,Xamarin已经被来自世界各地的140多万开发人员使用。感谢Xamarin for Visual Studio,开发人员可以利用Microsoft Visual Studio的强大功能及其所有高级功能,包括代码完成、IntelliSense和在模拟器或设备上调试应用程序。Xamarin测试云可以在云中的2000台真实设备上即时测试应用程序。这是迄今为止处理Android生态系统严重碎片化的最佳方式,发布的无bug应用程序没有任何重大问题。 但老实说,我不喜欢第一次与Xamarin面对面的会面。有太多的bug,速度和性能问题也困扰着我们

React Native由Facebook开发,Instagram、Airbnb、沃尔玛、特斯拉、百度和许多其他财富500强公司都使用。它是Facebook的React JavaScript框架的开源版本。由于React-Native与常规iOS和Android应用程序使用相同的UI构建块,因此无法区分React-Native应用程序与使用Objective-C或Java构建的应用程序。一旦您更新了源代码,您就可以在应用程序预览窗口中立即看到更改。如果您曾经迫切需要手动优化应用程序的某些部分,React Native允许您将本机代码与用Objective-C、Java或Swift编写的组件相结合


我上面提到的那些并不是唯一的选择,但因为现在它们是程序员之间最常用的框架。但请注意,谷歌在谷歌IO上公开宣布的这一消息,可能很快就会引起轰动。

因为我记得当时的需求,我知道混合应用不是一种选择,JNI也不用于制作跨平台应用程序,但最好的用途是通过Android的原生UNIX脚本来驱动硬件外围设备,或者在Android上运行C++代码。因此,如果我们省略等,我们将面临几个迄今为止吸引了许多开发人员注意的跨平台技术

该框架是由创建Mono的人创建的,Mono是一套符合Ecma标准的.NET framework兼容工具。Xamarin为开发者提供了一个C#代码库,可用于为所有主要移动操作系统生成本地应用程序

与许多其他框架不同,Xamarin已经被来自世界各地的140多万开发人员使用。感谢Xamarin for Visual Studio,开发人员可以利用Microsoft Visual Studio的强大功能及其所有高级功能,包括代码完成、IntelliSense和在模拟器或设备上调试应用程序。Xamarin测试云可以在云中的2000台真实设备上即时测试应用程序。这是迄今为止处理Android生态系统严重碎片化的最佳方式,发布的无bug应用程序没有任何重大问题。 但老实说,我不喜欢第一次与Xamarin面对面的会面。有太多的bug,速度和性能问题也困扰着我们

React Native由Facebook开发,Instagram、Airbnb、沃尔玛、特斯拉、百度和许多其他财富500强公司都使用。它是Facebook的React JavaScript框架的开源版本。由于React-Native与常规iOS和Android应用程序使用相同的UI构建块,因此无法区分React-Native应用程序与使用Objective-C或Java构建的应用程序。一旦您更新了源代码,您就可以在应用程序预览窗口中立即看到更改。如果您曾经迫切需要手动优化应用程序的某些部分,React Native允许您将本机代码与用Objective-C、Java或Swift编写的组件相结合


我上面提到的那些并不是唯一的选择,但因为现在它们是程序员之间最常用的框架。但是请注意,谷歌正在谷歌IO中公开宣布这一消息,也许它很快就会大受欢迎。

JNI似乎与iOS无关,因为你通常不会用Java开发iOS应用程序。相反,您可能会使用Objto-C++与C++代码进行接口。在Android上,你需要使用JNI(或者类似JNA的东西),除非你制作了一个完全本地的应用程序。我知道,但是有可能创建一个C++库并在两个代码中共享它。而且这些帖子显示JNI与iOS并没有什么关系:当然,这是可能的。但我不确定问题到底是什么。JNI(或JNA)不仅仅是推荐用于Android应用程序的java和C++代码之间的接口——它是必要的。