0

我从 NDK 示例中的 hello-gl2 示例构建了 FAT APK。它有 2 个文件夹 armeabi 和 armeabi-v7a

我添加了以下方法

JNIEXPORT jstring JNICALL Java_com_android_gl2jni_GL2JNILib_status(JNIEnv * env, jobject obj)
{
   const char * result = "Hop";
   #ifdef __ARM__
      result = "__ARM__";
   #endif
   #ifdef __ARM_ARCH_5TE__
      result = "__ARM_ARCH_5TE__";
   #endif
   #ifdef __ARM_ARCH_7A__
      result = "__ARM_ARCH_7A__";
   #endif
   return env->NewStringUTF(result);
}

当应用程序运行时,它会调用该方法并在弹出对话框中显示返回值。当我在具有 ARMv7 CPU 的设备上运行应用程序时,我收到__ARM_ARCH_5TE__消息而不是__ARM_ARCH_7A__

然后我删除armeabiAPK中的文件夹并重新安装APK。我看到__ARM_ARCH_7A__消息

如果我只编译armeabi-v7aAPK,那么我会看到__ARM_ARCH_7A__它在 ARMv6 设备上不起作用。

我希望编译将armeabi-v7a在 ARMv7 CPU 和 ARMv6 CPU 上运行 lib 的FAT APK armeabi

我做错了什么或错过了什么?

4

1 回答 1

1

我猜你遇到了这个 Android ICS 错误:

于 2012-12-11T01:15:03.830 回答