哪些Android设备支持jni?

我开发了一个 Android应用程序,它使用Archos 43的JNI(java本机接口).

没有问题,我能够顺利运行应用程序.
后来我尝试在三星I9100G galaxy S II以及三星I9100 galaxy S II上运行相同的应用程序.

我能够在I9100G上运行该应用程序,但不能在I9100上运行.

The reason being that the JNI part of the application was not supported on I9100.

我确实试图了解其原因并且能够发现I9100G使用Ti OMAP 4430芯片组和PowerVR SGX540作为GPU,而I9100使用Exynos 4210芯片组和Mali-400MP作为GPU.

我怀疑原因可能是芯片组的变化(因为Archos 43也使用了Ti OMAP).但是我的搜索无法获得任何进一步的结果.

更新该应用程序使用蓝牙.在尝试连接到自定义硬件(CH)时,在I9100上运行应用程序时无法从CH获得任何响应.蓝牙通信部分使用jni编写.

所以我的问题是,由于芯片组,我是否无法在I9100上使用JNI运行我的应用程序,如果是这样,为什么呢?

另外一个更普遍的问题是哪些设备支持Android JNI应用程序以及设备运行Android JNI应用程序所需的基本功能是什么?
(我花了相当多的时间试图找到所有这些问题的答案,我们将非常感谢任何帮助.)

谢谢.

解决方法

所有Android设备都支持JNI,这是操作系统的重要组成部分:通过JNI使用本机库的Java服务和框架.但是,有不同的体系结构,如果您有本机模块,则需要确保为要支持的每个体系结构构建一个.即使您只针对ARM设备,也有ARMv5和ARMv7. ARMv5应该适用于所有,但速度较慢.

galaxy SII设备可能使用相同的架构,因此您遇到了其他一些问题/错误.你得到了什么错误?发布logcat(如果有).也许您正在尝试访问其中一台设备上没有的硬件?或链接系统库由于某种原因丢失?

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...