2017-01-11 5 views
0

Я новичок в gradle и смотрю задачу Gradle, чтобы извлечь определенную папку из зависимости (файл jar). Я создал папку nativelib под src/main/nativeLib и хочу скопировать все собственные библиотеки, которые находятся внутри встроенного баннера. В основном этот родной банку уже добавлен в мое центральное репо, и он содержит собственные libs (.so-файлы) внутри lib. Я добавил эту родную банку в качестве зависимостей в моем gradle.build и теперь хочу сначала извлечь все содержимое из этого кувшина -> Lib папки и место в nativelib, а затем установить jniLibs как это:Как извлечь содержимое конкретной папки из файла jar с помощью gradle

android { 
    sourceSets 
     { 
      main { 
       jniLibs.srcDirs = ['src/main/nativelib'] 
      } 
     } 
    } 

Gradle зависимости :

dependencies { 
compile 'com.hospitality.android:liblinphone-sdk-native:3.2.1' 

}

Может кто-то помочь мне.

ответ

0

Попробуйте использовать это:

apply plugin: 'java' 
apply plugin: 'application' 

android { 
    sourceSets 
     { 
      main { 
       jniLibs.srcDirs = ['src/main/nativelib'] 
      } 
     } 
    } 

build.dependsOn(copyToLib) 

task copyToLib(type: Copy) { 
    into "$buildDir/output/libs" 
    from configurations.runtime 
} 

посмотреть, если это работает, и копирует в выходной/LIBS.

+0

Не могли бы вы объяснить мне: «Каким должен быть путь к моему роднику liblinphone-sdk? и где мне нужно использовать эту копию {} внутри моей сборки градиента? –

+0

см. Обновленный ответ. –

+0

Нужно ли определять время выполнения: просто добавьте задачу copyToLib с учетом ошибки в gradle: Ошибка: (136, 0) Не удалось найти свойство «runtime» в контейнере конфигурации. Я использую gradle version 2.7 –