Android设备上的Atom / x86与ARM CPU代码执行

时间:2015-04-06 17:12:46

标签: android android-ndk x86 arm intel

代码已经在ARM平板电脑上调试过,我使用带有Intel Atom CPU的Android平板电脑来测试我的应用程序的原生x86代码(由NDK生成.so)...

正如所料, 1)CPU-Z实用程序提供“架构x86”和“CPU Intel Atom Z3735G” 2)“adb shell cat / proc / cpuinfo”给出“型号名称:Intel(R)Atom(TM)CPU Z3735G @ 1.33GHz”

启动应用时, 出乎意料的是 1)Log.d(TAG,“CPU:”+ android.os.Build.CPU_ABI)给出:“CPU:armeabi-v7a” 2)我的应用程序的一些原生.so库只存在于ARM代码中,它们在这里正常工作。

我怀疑x86 .so lib即使可用

也是如此

行为与CPU ARM完全相同。 你有解释吗? 代码是否已翻译为x86?如果代码被转换,它就会很好用!

1 个答案:

答案 0 :(得分:2)

基于x86的Android设备,包括一个ARM仿真层,我想在执行你的应用程序时会使用它。使用仿真时并不总是直观的。

您应该检查apk文件中的libs / x86和libs / armeabi以及libs / armeabi-v7a中的相同数量文件。因此,如果您有两个本机lib for arm,那么您还应该有两个用于x86的本机库。

如果数字匹配且仍然无效,请检查本机库的名称对于ARM和x86是否相同。