Как заархивировать папку с помощью Android Gradle?
Я пытаюсь сжать источник Android, используя Gradle, но моя задача Gradle ничего не делает. После завершения синхронизации gradle ничего не происходит, мой источник не заархивирован.
Я следовал за этим, но не работал.
Мой Gradle:
apply plugin: 'com.android.application'
task myZip(type: Zip) {
from 'src/main/assets/'
include '*/*'
archiveName 'test.zip'
destinationDir(file('src/main/'))
println "Zipping Continues... "
}
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "test.sample.com.myapplication"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:26.0.2'
testImplementation 'junit:junit:4.12'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
}
Это мои сценарии, пожалуйста, предложите мне решение.
0 ответов
Я столкнулся с той же проблемой, когда хотел заархивировать библиотеки JNI с символами перед публикацией их в частном фиде maven. Мне потребовалось некоторое время, чтобы выяснить шаги, поскольку я не знаком с Gradle. По сути, я решил это, добавив дополнительный шаг для запуска задачи myZip в конвейере сборки:
./gradlew build
./gradlew myZip # extra step to run the myZip task
./gradlew publish
Вот часть моего build.gradle для справки:
apply plugin: 'maven-publish'
task myZip(type: Zip) {
archiveName "symbols.zip"
from "$buildDir/intermediates/transforms/mergeJniLibs"
destinationDir file("$buildDir/outputs/sym")
doFirst {
println "Run myZip task to create symbols.zip"
}
}
publishing {
publications {
symbolsPublication(MavenPublication) {
... ...
artifact file("$buildDir/outputs/sym/symbols.zip")
}
}
}
... ...