微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

哪些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(如果有).也许您正在尝试访问其中一台设备上没有的硬件?或链接系统库由于某种原因丢失?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐