Tad*_*das 16 java-native-interface android android-ndk android-studio-2.2
Android Studio 2.2 Preview 1有一个新的外部ndk构建功能,但是从app/build.gradle官方博客文章中显示的片段,根本不清楚如何设置其他ndk构建参数哪个Application.mk文件通常包含
我可以通过设置Android.mkndk构建文件externalNativeBuild,但是如何设置所需的Application.mk变量呢?
我的Application.mk包含:
NDK_TOOLCHAIN_VERSION := clang
APP_PLATFORM := android-16
APP_ABI := armeabi
APP_STL := c++_static
APP_CPPFLAGS += -std=c++11
Run Code Online (Sandbox Code Playgroud)
Tad*_*das 10
带有更新的gradle插件的Android Studio 2.2 Preview 3增加了对其他参数的支持.您可以设置Application.mk和其他配置,如下所示:
defaultConfig {
ndkBuild {
arguments "NDK_APPLICATION_MK:=Application.mk"
cFlags "-DTEST_C_FLAG1" "-DTEST_C_FLAG2"
cppFlags "-DTEST_CPP_FLAG2" "-DTEST_CPP_FLAG2"
abiFilters "armeabi-v7a", "armeabi"
}
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我建议迁移到CMake构建系统,因为在Android Studio中有更好的C++代码编辑器和调试集成.您可以在此处找到有关gradle插件配置的更多信息:https: //sites.google.com/a/android.com/tools/tech-docs/external-c-builds.
编辑:
从Android Studio 2.2预览版5中,您必须在组下进行换行cmake和ndkBuild分组externalNativeBuild:
defaultConfig {
externalNativeBuild {
ndkBuild {
targets "target1", "target2"
arguments "NDK_APPLICATION_MK:=Application.mk"
cFlags "-DTEST_C_FLAG1", "-DTEST_C_FLAG2"
cppFlags "-DTEST_CPP_FLAG2", "-DTEST_CPP_FLAG2"
abiFilters "armeabi-v7a", "armeabi"
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑2: 由于构建工具中的错误,似乎ndkBuild在externalNativeBuildgroup 下包装不起作用.
| 归档时间: |
|
| 查看次数: |
17012 次 |
| 最近记录: |