Проблемы построения библиотеки Android с нативным кодом
Я пытаюсь построить проект библиотеки Android с нативным кодом. В разделе "известные ограничения" под http://tools.android.com/tech-docs/new-build-system/gradle-experimental поддерживаются проекты гибридных библиотек. Но я, кажется, не вижу собственных файлов so, генерируемых в папке libs файла библиотеки aar.
Вот как выглядит моя настройка проекта
- последовали шаги в http://tools.android.com/tech-docs/new-build-system/gradle-experimental Для поддержки ndk
- добавлена библиотека модулей, которая статически загружает собственный файл so и предоставляет возможности с помощью некоторых методов
- добавлен еще один модуль, использующий собственный модуль. Установите зависимости модулей для включения проекта библиотеки.
Когда я запускаю это приложение, я получаю UnsatisfiedLinkError, который я ожидал, поскольку я не вижу собственных файлов so, генерируемых в aar файл.
Вот как строится моя библиотека.файл gradle выглядит как
apply plugin: 'com.android.model.library'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
}
android.ndk {
moduleName = "native"
cppFlags = ['-std=c++11']
stl = "gnustl_shared"
}
}
Вот как строится мой модуль приложения.gradle выглядит как
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"
}
}
dependencies {
compile project(':mylibrary')
}
1 ответ:
Это общая проблема в Gradle experimental 0.2.0 и 0.2.1. Была та же проблема, обновлена до 0.3.0-alpha4, и это сработало (просто замените
0.2.0
на0.3.0-alpha4
в сборке вашего проекта.Gradle в). Для обновления вам понадобится Gradle 2.6 (щелкните правой кнопкой мыши на модуле / откройте Настройки модуля / выберите подменюProject / setGradle version в поле 2.6). Обратите внимание, что я использую Android Studio 1.4 RC3.