Позвольте мне подумать о библиотеках проверки, которые существуют в .jar и которые мы должны скачать. В другом случае вы можете предоставить несколько типов продуктов. И после этого просто выберите Build Flavors для вашей работы.
productFlavors {
fastDebug {
applicationIdSuffix ".jar"
}
regularDegub {
applicationIdSuffix ".regular"
}
....
// Other Configuration
}
dependencies {
...
// Jar Debug by adding only Jar
fastDegubCompile fileTree(dir: 'libs', include: '*.jar')
fastDegubCompile 'com.android.support:support-v4:23.1.1'
...
// Regular Debug with downloading all libraries
// Including only specific from project files
regularDegubCompile 'com.squareup.picasso:picasso:2.5.2'
regularDegubCompile 'com.android.support:support-v4:23.1.1'
regularDegubCompile files('libs/specific1.jar', 'libs/specific2.jar')
}
| ОБНОВЛЕНИЕ |
Итак, после некоторого обходного пути я вижу, что Gradle собирает библиотеки в некоторый кеш, где я вижу источник. Но я все еще ищу путь к правильной библиотеке проверки с конфигурацией проекта.
На данный момент я написал сценарий для сбора файлов из местоположения кеша Gradle. И копирование их в новое место, где мы можем использовать ароматы сборки. Это работает очень быстро (менее 7 секунд для 200 библиотек), но все равно нуждаются в улучшениях (см. Выше).
Если у меня нет времени, для следующего обновления, пожалуйста, заполните бесплатно, чтобы расширить решение. Спасибо за понимание.
// Task for calling from Gradle Scripts
// -----------------------------------
task gatheringJarFilesTask << {
println("Gathering Jars Start...")
gatheringJarFiles(gradleCacheLocation, foundedJarsList)
println("------------------------------")
println("Gathering Jars End! Start copying!")
copyFiles(projectJarsLocation, foundedJarsList)
}
// Constants, which might be optimized too
// -----------------------------------
def gradleCacheLocation = '/home/kasyangenka/.gradle/caches/modules-2/files-2.1'
def projectJarsLocation = '/home/kasyangenka/Projects/GradleScriptsTest/app/libs'
List<String> foundedJarsList = []
// Main Script Methods
// -----------------------------------
def gatheringJarFiles(baseDirPath, gatheredList) {
new File(baseDirPath).eachFile {file ->
println("-> Current file: " + file.getName())
if (file.isDirectory()) {
gatheringJarFiles(file.getAbsolutePath(), gatheredList)
}
def containsLib = (file.getName().contains(".jar")
|| file.getName().contains(".aar"));
if (containsLib) {
println("->> Adding Jar file: " + file.getAbsolutePath())
gatheredList.add(file.getAbsolutePath())
}
}
}
def copyFiles (destiny, List sourceList) {
sourceList.each {filePath ->
copy {
from filePath
into destiny
}
}
}
Является ли это только чистый Java библиотеки или вы отъехать андроид библиотек, а? – tynn
в основном андроидные библиотеки ... – prom85
Так что, собственно, файлы '.aar'? – tynn