Я пытаюсь добавить собственную предварительно созданную общую библиотеку к моему проекту в Android Studio. Я использую gradle -experimental: 0.6.0-alpha5. Однако всякий раз, когда я пытаюсь добавить предварительно созданную общую библиотеку к моей модели приложения, я получаю следующую ошибку:
Ошибка: Причина: org.gradle.api.internal.PolymorphicDomainObjectContainerConfigureDelegate
Библиотека добавляется в модель приложения, как описано в Google Gradle Экспериментальное руководство:
repositories {
prebuilt(PrebuiltLibraries) {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("/path_to_libs/${targetPlatform.getName()}/shared_lib.so")
}
}
}
android.sources {
main {
jniLibs {
dependencies {
library "shared_lib"
}
}
}
}
Важнейшей линией является библиотека "shared_lib". Нет ошибки, если я раскомментирую эту строку.
Так как это не работает, я также попытался использовать руководство из ph0b.com. Они используют другой синтаксис для добавления собственных разделяемых библиотек (я просто забыл заголовки, так как у меня нет ни одного каталога, включая все заголовки):
repositories {
libs(PrebuiltLibraries) {
shared_lib {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("/path_to_libs/${targetPlatform.getName()}/shared_lib.so")
}
}
}
}
android.sources {
main {
jni {
dependencies {
library "shared_lib" linkage "shared"
}
}
}
}
Тем не менее, это не работает. Android Studio не копирует файл shared_lib в файл apk. Следовательно, я всегда получаю следующую ошибку:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader [...] не удалось найти "shared_lib.so"
Может ли кто-нибудь сказать мне, как я могу включить собственную библиотеку prebuild в свой проект? Я использую buildToolsVersion = '22.0.1 'и compileSdkVersion = 22 как параметры сборки.