Android NDK:与Android Studio 2.2,Gradle和externalNativeBuild + Android.mk的铿锵工具链
我想用一个Android.mk设置一个使用新的externalNativeBuild的NDK项目,但是当我编译时我得到了不同的结果在命令行中与通过Android Studio进行比较。我正在尝试确认Android Studio正在使用哪个工具链,但无法知道如何使用新语法指定它。Android NDK:与Android Studio 2.2,Gradle和externalNativeBuild + Android.mk的铿锵工具链
到目前为止,我已经加入NDK_TOOLCHAIN_VERSION := clang
我Application.mk
如果我重新命名的应用程序/ src目录/主/ CPP - >应用程序/ src目录/主/ JNI和运行在命令行上NDK-建设,我按预期方式编译静态库和共享库。
但是,在那里指定NDK_TOOLCHAIN_VERSION
时,Android Studio中的项目视图会显示静态库中每个源文件的目标文件。
我目前在Windows 10使用Android Studio 2.2中预览6.
我应该指定此别处?
我相信它应该在build.gradle
中指定,因为Application.mk
中的标志显然被忽略(至少在此刻)。
defaultConfig {
externalNativeBuild {
ndkBuild {
arguments "-DNDK_TOOLCHAIN_VERSION=clang"
}
}
}
Application.mk中的标志只要与Android.mk位于同一个目录中就可以使用;否则需要在模块build.gradle中的参数行上指定Application.mk的路径 – Gerry
可以尝试这里的样本之一,看看你得到了类似的事情:https://github.com/googlesamples/android-ndk/tree/master/other-builds/ndkbuild?在构建命令行之后,在使用android studio重新构建之前,请运行rmdir/S/Q your-proj/app/.externalNativeBuild以删除所有缓存值。如果你的application.mk和android.mk在同一个目录中,默认情况下它们将被使用 – Gerry