android - studio - gradle build command
¿La tarea Gradle zipAlign no funciona? (2)
Parece que la tarea Gradle zipAlign no funciona para mí, no estoy seguro de lo que estoy haciendo mal. Intenté incluir la tarea zipAlign y no incluirla, pero no parece marcar la diferencia. Mis scripts de gradle escupieron una compilación de "lanzamiento", pero nunca está zipAligned de acuerdo con la consola de desarrollador cuando intento cargar mi archivo .apk.
Aquí está mi script de construcción:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ''com.android.tools.build:gradle:0.4.2''
}
}
apply plugin: ''android''
dependencies {
compile project('':facebook-android-sdk-3.0.1:facebook'')
compile project('':google-play-services_lib'')
compile project('':nineoldandroids'')
compile project('':SlidingMenu-master:library'')
compile project('':ViewPagerIndicator'')
compile project('':volley'')
compile project('':windowed-seek-bar'')
compile files(''compile-libs/androidannotations-2.7.1.jar'', ''libs/Flurry_3.2.1.jar'', ''libs/google-play-services.jar'', ''libs/gson-2.2.4.jar'', ''libs/picasso-1.1.1.jar'', ''libs/crittercism_v3_0_11_sdkonly.jar'', ''libs/gcm.jar'', ''libs/apphance-library.jar'')
}
android {
buildToolsVersion "17.0"
compileSdkVersion 17
signingConfigs {
debug {
storeFile file(''keystores/debug.keystore'')
}
}
buildTypes {
debug {
sourceSets {
main {
manifest.srcFile ''AndroidManifest.xml''
java.srcDirs = [''src'']
resources.srcDirs = [''src'']
aidl.srcDirs = [''src'']
renderscript.srcDirs = [''src'']
res.srcDirs = [''res'']
assets.srcDirs = [''assets'']
}
}
}
release {
zipAlign true
sourceSets {
main {
manifest.srcFile ''AndroidManifest.xml''
java.srcDirs = [''src'']
resources.srcDirs = [''src'']
aidl.srcDirs = [''src'']
renderscript.srcDirs = [''src'']
res.srcDirs = [''res'']
assets.srcDirs = [''assets'']
}
}
}
}
}
Cualquier ayuda apreciada!
Es posible tomar cualquier proyecto gradle de Android Studio existente y compilarlo / firmarlo desde la línea de comandos sin editar ningún archivo. Esto hace que sea muy agradable para almacenar su proyecto en el control de la versión mientras mantiene sus claves y contraseñas separadas y no en su archivo build.gradle:
./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYFILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
Su tipo de versión de lanzamiento no está configurado para la firma.
Si está firmando su apk manualmente, también necesita ejecutar ZipAlign manualmente. ZipAlign debe suceder después de la firma.
Gradle zipalignará un apk solo si también se puede firmar.
Para configurar la firma para la configuración de lanzamiento, primero deberá crear una nueva configuración de firma y luego asignarla al tipo de construcción.
android {
signingConfigs {
release {
storeFile file("/path/to/keystore")
storePassword "??"
keyAlias "??"
keyPassword "??"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Tenga en cuenta que se requieren los 4 parámetros en la configuración de firma, de lo contrario, considerará que faltan algunos valores y ni siquiera intentará firmar.