Сборка Gradle не может найти зависимости при первом запускеAndroid

Форум для тех, кто программирует под Android
Anonymous
Сборка Gradle не может найти зависимости при первом запуске

Сообщение Anonymous »

У меня есть проект Android с такой структурой:

Код: Выделить всё

App
settings.gradle
library
library
library1
library2
зависит от библиотеки1 и библиотеки2.
Настройки приложения.gradle:

Код: Выделить всё

....
include ':library-library1'
include ':library-library2'
include ':library-library'
....
build.gradle выглядит так:

Код: Выделить всё

android{
....
}

dependencies {
implementation project(':library-library1')
implementation project(':library-library2')
}
Файл Android.mk:

Код: Выделить всё

....
LOCAL_MODULE    := library
LOCAL_SRC_FILES := library.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../library1/include \
$(LOCAL_PATH)/../../library2/include
LOCAL_LDLIBS := \
-L$(LOCAL_PATH)/../../library1/build/intermediates/library_jni/$(BUILD_TYPE)/jni/$(TARGET_ARCH_ABI) \
-L$(LOCAL_PATH)/../../library2/build/intermediates/library_jni/$(BUILD_TYPE)/jni/$(TARGET_ARCH_ABI) \
-llog -landroid -llibrary1 -llibrary2
LOCAL_CPPFLAGS += -fexceptions
include $(BUILD_SHARED_LIBRARY)
....
Проблема в том, что сборка завершается с ошибкой при первом запуске:

Код: Выделить всё

"error: cannot find -llibrary1"
"error: cannot find -llibrary2"
И я вижу, что Android Studio создает файлы .so как для библиотеки1, так и для библиотеки2 после первого запуска сборки. На втором и других запусках все ок. Похоже, что порядок сборки неправильный: библиотека собирается до появления зависимостей.
Как правильно указать зависимости для библиотеки?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -first-run

Вернуться в «Android»