Me divertí bastante resolviendo esto. Aquí está mi recorrido.
Recorrido de la A a la Z sobre cómo crear un archivo de compilación gradle en IntelliJ (v.13.1.4) Este recorrido supone que usted sabe cómo crear un archivo de almacén de claves. Para que este tutorial funcione, necesitará que su archivo de almacén de claves esté ubicado en la carpeta de su aplicación y deberá tener su archivo zipalign.exe en 'SDK-ROOT \ tools'. Este archivo generalmente se encuentra en 'SDK-ROOT \ build-tools' y debajo de esta carpeta estará en la carpeta api más alta (alfa o beta, recomiendo la versión alfa).
Para aquellos de ustedes que deseen saltar directamente aquí, está el archivo de compilación de gradle.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
signingConfigs {
playstore {
keyAlias 'developers4u'
keyPassword 'thisIsNotMyRealPassword'
storeFile file('developers4u.keystore')
storePassword 'realyItIsNot'
}
}
buildTypes {
assembleRelease {
debuggable false
jniDebugBuild false
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
zipAlign true
signingConfig signingConfigs.playstore
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:20.0.0'
implementation 'com.android.support:appcompat-v7:20.0.0'
}
Puede compilar parte de este archivo de compilación (arriba) desde la opción de menú: Estructura de Archivo / Proyecto Desde aquí, seleccione Facetas y haga clic en 'Android-Gradle (Aplicación). Desde aquí, verá pestañas: 'Propiedades', 'Firma', 'Sabores', 'Tipos de compilación' y 'Dependencias' para este tutorial, solo usaremos 'Firma' y 'Tipos de compilación'. En 'Tipos de compilación' (en la sección de nombre) ingrese cualquier nombre que desee para identificar su configuración de tipo de compilación y en los otros 4 campos ingrese la información de su almacén de claves (estableciendo la ruta del almacén de claves en la carpeta de su aplicación).
Debajo de 'Tipos de compilación' ingrese el valor 'assembleRelease' en el campo de nombre, 'Debuggable' debe establecerse en falso, 'Jni Debug Build' debe ser falso, establezca 'Run Proguard' en true y 'Zip Align' en true. Esto generará un archivo de compilación, pero no como se muestra arriba, tendrá que agregar algunas cosas al archivo de compilación después. La ubicación del archivo ProGuard aquí se establecerá manualmente en el archivo de compilación gradle. (como se muestra arriba)
Los contenedores DSL que tendrá que agregar después son los siguientes:
android {
....
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
....
}
También deberás agregar:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:20.0.0'
implementation 'com.android.support:appcompat-v7:20.0.0'
}
tenga en cuenta que este contenedor DSL anterior ('dependencias') debe estar en la parte inferior del archivo de configuración, pero no dentro del contenedor DSL de Android. Para construir el contenedor de dependencias desde el menú IntelliJ, seleccione: Estructura de Archivo / Proyecto. Desde allí, seleccione Facetas nuevamente y luego Android-Gradle (aplicación). Verá las mismas 5 pestañas mencionadas anteriormente. Seleccione la pestaña 'Dependencias' y agregue las dependencias que necesite.
Después de todo esto, debería ver un archivo de compilación de Gradle similar al archivo en la parte superior de este tutorial. Para construir su lanzamiento alineado zip firmado deberá abrir las tareas de Gradle. Puede acceder a esta ventana seleccionando Ver / Ventanas de herramientas / Gradle. Desde aquí puede hacer doble clic en 'assembleAssembleRelease. Esto debería generar su APK desplegable.
Los posibles problemas que pueden ocurrir al compilar su versión son (pero no se limitan a): su archivo de compilación Gradle está en el lugar incorrecto. Hay dos archivos de compilación de Gradle; uno en la carpeta raíz de la aplicación y otro en la carpeta de la aplicación debajo de la raíz de la aplicación. Debe usar este último.
También puede tener problemas de pelusa. (Nota: Android Developer Studio es mucho mejor para detectar problemas de Lint que IntelliJ lo notará cuando intente generar un APK firmado desde las opciones del menú)
Para solucionar los problemas de pelusa, deberá colocar el siguiente contenedor DSL dentro del contenedor de Android (en la parte superior):
android {
....
lintOptions {
abortOnError false
}
....
}
poner esto dentro de su contenedor DSL de Android hará que se genere un archivo de error en la carpeta de compilación (directamente debajo de la carpeta de su aplicación) el nombre del archivo debería ser algo así como 'lint-results-release-fatal.html' este archivo le dirá el La clase donde ocurrió el error. Otro archivo que se generará es un archivo XML que contiene el 'ID de problema' asociado con el error de pelusa. El nombre del archivo debería ser algo así como 'lint-results-release-fatal.xml'. En algún lugar cerca de la parte superior del archivo, verá un 'problema' de nodo dentro del cual verá algo similar a 'id = "IDOfYourLintProblem"'
Para corregir este problema, abra el archivo en su proyecto que figuraba en el archivo 'lint-results-assembleRelease-fatal.html' e ingrese la siguiente línea de código en el archivo de clase Java justo encima del nombre de la clase: @SuppressLint ("IDOfYourLintProblem "). Puede que tenga que importar 'android.annotation.SuppressLint;'
Entonces su archivo de clase de Java debería aparecer como:
package com.WarwickWestonWright.developers4u.app.CandidateArea;
import android.annotation.SuppressLint;
... other imports
@SuppressLint("IDOfYourLintProblem")
public class SearchForJobsFragment extends Fragment {... rest of your class definition}
Tenga en cuenta que la supresión de los errores de pelusa no siempre es la mejor IDEA. Es mejor que cambie su código que causó los errores de pelusa.
Otro problema que podría ocurrir es si no ha configurado la variable de entorno para la variable de entorno Gradle HOME. Esta variable se llama 'GRADLE_HOME' y debe establecerse en la ruta del directorio de inicio de Gradle, algo así como 'C: \ gradle-1.12'. A veces, también puede establecer la variable de entorno para 'ANDROID_HOME'. SDK-Root \ sdk '
Una vez hecho esto, regrese a la ventana de tareas de Gradle y haga doble clic en assembleAssembleRelease.
Si todo tiene éxito, debería poder ir a la carpeta app \ build \ apk y encontrar su archivo APK desplegable.