Собственная предварительно созданная общая библиотека в Android Studio с экспериментальным плагином Gradle

Я пытаюсь добавить родную предварительно созданную общую библиотеку к моему проекту в 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 как параметры сборки.

Этот работал для меня (0.6.0-beta6).

 repositories { prebuilt(PrebuiltLibraries) { YourLib { binaries.withType(SharedLibraryBinary) { sharedLibraryFile = file("src/main/libs/armeabi-v7a/libYourLib.so") } } } } android.sources { main { jniLibs { dependencies { library "YourLib" } } } } 

Похоже, они просто забыли упомянуть часть «YourLib {}» вокруг «binaries.withType».

Intereting Posts
Как играть или возобновлять музыку другого музыкального проигрывателя из моего кода? Изменение цвета текста элемента списка изменений Android Ошибка Android MediaPlayer: ошибка MediaPlayer (1, -2147483648) на потоке из Интернета Какова наилучшая практика для разблокировки функций приложения для пользователя на Android? Org.apache.http.entity.ContentType больше не находится в Apache? Получение имени и электронной почты из списка контактов очень медленно Android Checkbox listview выбрать все (отключить / включить) Android, как получить строку ответа от обратного вызова, используя OkHttp? Как искать файлы на SD-карте телефона, или где Показать Назад Стрелка на панели инструментов Android Ошибка keytool: java.security.UnrecoverableKeyException: невозможно восстановить ключевой андроид Просмотр регистрации только MotionEvent.ACTION_DOWN Невозможно использовать сервисы google play на единстве java plugin Класс мест удален из игровых сервисов android 9.2.0 Экран службы блокировки перед открытием приложения