Используя Gradle 5.4.1, я хочу создать проект CMake для приложения для Android. Это можно сделать в app / build.gradle с помощью:
externalNativeBuild {
cmake {
// Provides a relative path to your CMake build script.
version "3.13.0+"
path "../subproject/CMakeLists.txt"
}
}
Этот проект создает общую библиотеку и некоторые файлы Java с помощью SWIG. Я могу указать выходной каталог для исходных текстов Java с помощью -DJAVA_OUTPUT_DIR = generate / java .
Как заставить gradle ждать сборки CMake перед компиляцией исходного кода основного приложения (Kotlin)? Исходный код импортирует сгенерированные файлы JAVA, и в настоящее время процесс сборки не выполняется из-за отсутствия файлов Java. Похоже, что Gradle запускает cmake и компилятор Kotlin параллельно.
Дополнительный вопрос: как я могу добавить сгенерированный исходный каталог вывода в дерево проекта AndroidStudio как сгенерированный источник ? В сгенерированном источнике есть специальная запись.
Информация о версии:
$ ./gradlew --version
------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------
Build time: 2019-04-26 08:14:42 UTC
Revision: 261d171646b36a6a28d5a19a69676cd098a4c19d
Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.5 (Debian 11.0.5+10-post-Debian-1deb10u1)
OS: Linux 4.19.0-6-amd64 amd64