【发布时间】:2017-08-30 07:07:44
【问题描述】:
我正在通过 Android Studio 构建一些 C++ 库,我不想让那些 .externalNativeBuild 文件夹污染我的源代码树。
是否可以像buildDir 一样指定它们应该在哪里放置 Java 二进制文件?
我尝试像这样使用 -B 参数:
externalNativeBuild
{
cmake
{
arguments '-DANDROID_PLATFORM=android-14',
'-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static',
'-BC:/Dev/AndroidCMake'
}
}
在创建指定文件夹并包含构建的一些副产品时,它在一定程度上起作用。然而构建被破坏并且.externalNativeBuild 文件夹仍然被创建。它也包含一些文件。所以看起来该文件夹是在工具链中的其他位置指定的。
这是我得到的错误:
Error:Expected json generation to create 'C:\Dev\Android\TestApp\app\.externalNativeBuild\cmake\debug\armeabi-v7a\android_gradle_build.json' but it didn't
该 json 文件位于指定的 -B 文件夹中,但工具链仍在该其他文件夹中。
【问题讨论】:
-
污染你的源代码树?意味着您的代码是使用 VCS 进行版本控制的?只需添加一条忽略规则,它是为编译本机代码生成的唯一文件夹,因此它只是一个规则
-
是的,我的代码是使用名为 git 的 VCS 进行版本控制的。听说过它?事实上,我最终在 .gitignore 中添加了一些条目,但遗憾的是文件夹有些硬编码。
标签: android cmake android-ndk android-gradle-plugin