我之前从未使用过c ++ for android和NDK.当我使用它 - 比如说 - 图像处理时,我想确保应用程序可以在Android 2.2及更高版本的所有设备上运行.
当我为iPhone编写代码时,xcode为arm7和arm7s架构编译了2个二进制文件,并将它们打包到同一个包中.
现在我已经编写了一个示例NDK应用程序,它不想在我的Nexus 7上运行良好的x86 android模拟器上运行.我认为很明显应该是让它在arm和x86上运行的方式,但仍然可以找不到它.有人知道吗?谢谢!
我使用了android-ndk-r13b,我直接从Android网站下载(而不是从SDK管理器),并在Android Studio中设置了Project Structure的路径.
它能够检测到我的Android.mk和Application.mk(都在我的jni文件夹中),我从控制台日志中看到它.在我的Application.mk中,我定义了这个:APP_ABI:= armeabi-v7a
但是从控制台日志中,我可以看到每次执行ndk-build时,总会有APP_ABI:= mips64作为参数.所以,始终存在错误.(我想这是因为这个错误的参数,我得到错误"链接器命令失败...",因为我编译了.a和.so for armeabi-v7a而不是mips64)
所以,我想知道是什么让我的Application.mk定义APP_ABI被忽略了?(无论如何,我已经将C++链接到了我的gradle)
我尝试在ndkBuild {}中使用:参数"APP_ABI:= armeabi-v7a"但它说,没有像arguments()这样的方法
我错过了什么 ?