Android Studio y gradle. DroidconES 2014

46

description

El objetivo de la charla es intentar convencer y motivar a los más excépticos a utilizar Android Studio junto con Gradle. Explicando, entre otras cosas, como incrementar la productividad con las últimas características y plugins de ambos, proponiendo soluciones a los errores más habituales y mostrando en una demo las muchas ventajas que ofrece.

Transcript of Android Studio y gradle. DroidconES 2014

Page 1: Android Studio y gradle. DroidconES 2014
Page 2: Android Studio y gradle. DroidconES 2014

¿EL TAMAÑO IDE IMPORTA?

Page 3: Android Studio y gradle. DroidconES 2014

I ANDROID STUDIO

•Beta e IDE oficial• Idea community edition• ¡Creado para nosotros! • Integración de gradle•Actualizaciones

MIS RAZONES

Page 4: Android Studio y gradle. DroidconES 2014

¿MEJOR QUE ?

Page 5: Android Studio y gradle. DroidconES 2014

CARACTERÍST ICAS DE

ANDROID STUDIO

Page 6: Android Studio y gradle. DroidconES 2014

SOPORTE PARA GRADLE

Page 7: Android Studio y gradle. DroidconES 2014

• NUEVO PROYECTO • EDITOR DE PROYECTO

¡Y MUCHO MÁS!

Page 8: Android Studio y gradle. DroidconES 2014

FIXS AUTOMÁTICOS

Page 9: Android Studio y gradle. DroidconES 2014

EDICIÓN DE PROGUARD

Page 10: Android Studio y gradle. DroidconES 2014

SOPORTE XLIFF

Page 11: Android Studio y gradle. DroidconES 2014

INTEGRACIÓN DDMS

Page 12: Android Studio y gradle. DroidconES 2014

GENERADOR ASSETS

Page 13: Android Studio y gradle. DroidconES 2014

EDITOR DE NAVEGACIÓN

Page 14: Android Studio y gradle. DroidconES 2014

SELECTOR COLOR

Page 15: Android Studio y gradle. DroidconES 2014

PREVISUALIZACIÓN

Page 16: Android Studio y gradle. DroidconES 2014

APIs

Page 17: Android Studio y gradle. DroidconES 2014

RTL

Page 18: Android Studio y gradle. DroidconES 2014

ESTRUCTURA ANDROID

… disponible en la versión 0.8.2

https://www.youtube.com/watch?v=hu4U8XKmJGA

Page 19: Android Studio y gradle. DroidconES 2014

TOOLS PARA TODOgoo.gl/Ac8XJI

Page 20: Android Studio y gradle. DroidconES 2014

ANÁLISIS DE CÓDIGO

Page 21: Android Studio y gradle. DroidconES 2014

FIRMAR APPS

Page 22: Android Studio y gradle. DroidconES 2014

FAQ

• ¿Alguna versión de Android Studio es estable?

• ¿Puedo migrar proyectos desde eclipse?

• ¿Cómo no tener problemas al actualizar Android Studio?

Page 23: Android Studio y gradle. DroidconES 2014

PLUGINS ÚTILES

• Markdown http://goo.gl/uV5Rbe

• Genymotion http://goo.gl/Tn8QQZ

• ButterKnife http://goo.gl/JUBtMj

• Parcelable http://goo.gl/s815Qy

¡Y HAY MUCHÍSIMOS MÁS!

Page 24: Android Studio y gradle. DroidconES 2014

I GRADLE TOO

• Groovy DSL.

• Hecho por Gradleware• Variantes de aplicación

• Gestión dependencias• Manejo de keystores• Modo Offline• Compilaciones Incrementales

MIS RAZONES

Page 25: Android Studio y gradle. DroidconES 2014

¿CÓMO FUNCIONA

GRADLE?

Page 26: Android Studio y gradle. DroidconES 2014

ESTRUCTURA DE

PROYECTO• Un proyecto muchos

módulos• Permite definir distintas

estructuras de carpetas

Page 27: Android Studio y gradle. DroidconES 2014

REPOSITORIOS GRADLE repositories {

jcenter()

mavenCentral()

mavenLocal()

ivy {

url 'http://repo.mycompany.com‘ }

maven {

url 'https://www.testfairy.com/maven‘ }

flatDir {

dirs 'prebuilt-libs'

}}

Page 28: Android Studio y gradle. DroidconES 2014

DEPENDENCIAS GRADLE

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:support-v13:+'

pagoCompile 'com.google.android.support:wearable:+'

compile 'com.google.android.gms:play-services-wearable:+‘

}

Page 29: Android Studio y gradle. DroidconES 2014

BUILD TYPE buildTypes { debug { buildConfigField "boolean", "KAMIL", "false" } release { buildConfigField "boolean", "KAMIL", "true" runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt') } }

BuildConfig.KAMIL

Page 30: Android Studio y gradle. DroidconES 2014

PRODUCT FLAVOR productFlavors {

gratis {

applicationId 'es.droidcon.com.free'

versionCode 2

}

pago {

applicationId 'es.droidcon.com.paid'

versionCode 1

}

}

Page 31: Android Studio y gradle. DroidconES 2014

VARIANTS

BUILD TYPE

PRODUCT FLAVOR

PagoDebug

Pago

Debug

VARIANT

Page 32: Android Studio y gradle. DroidconES 2014

LA MAGIA DE GRADLE

Page 33: Android Studio y gradle. DroidconES 2014

SIGNINGCONFIGSsigningConfigs {

release {

keyAlias 'test'

keyPassword System.getenv(‘KEY_PASSWORD’)

storeFile file('keystore.test.jks')

storePassword System.getenv(‘STORE_PASSWORD’)

}

}

Page 34: Android Studio y gradle. DroidconES 2014

FLAVOR GROUPS

SOPORTE PARA MULTI-APK

Page 35: Android Studio y gradle. DroidconES 2014

PLUGINS PARA GRADLE

• sdk-manager-plugin goo.gl/m8WVwO

• Gradle Maven Push goo.gl/aWtTbF

• Testfairy gradle plugin goo.gl/QpNJ4D

Page 36: Android Studio y gradle. DroidconES 2014

DEMO

Page 37: Android Studio y gradle. DroidconES 2014

NUEVO MANIFEST MERGER

<activity android:name=“droidcon.com.MainActivity" android:label=“Droidcon" android:screenOrientation="portrait"

tools:replace="label" />

android { useOldManifestMerger false #por defecto}

• Control explicito en la fusión• Es posible desactivarlo

Page 38: Android Studio y gradle. DroidconES 2014

NUEVO MANIFEST MERGER

<activity android:name=".Main">     <intent-filter>

     <action android:name="${applicationId}.foo">         </action> </intent-filter></activity>

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger

Page 39: Android Studio y gradle. DroidconES 2014

DEPURACIÓN EN ANDROID (1)

• Analizar y filtrar el log del sistema.• Introducir filtros en logcat

Page 40: Android Studio y gradle. DroidconES 2014

DEPURACIÓN EN ANDROID (1)

• Log.i Info• Log.d Debug• Log.e Error• Log.v Verbose• LOG.w Warm• Log.wtf (what

terrible error)

Page 41: Android Studio y gradle. DroidconES 2014

DEPURACIÓN EN ANDROID (2)

• Mediante break-points ( puntos de parada)

Page 42: Android Studio y gradle. DroidconES 2014

DEPURACIÓN EN ANDROID (2)

Page 43: Android Studio y gradle. DroidconES 2014

DEPURACIÓN EN ANDROID (2)

• Análisis de variables y objetos

Page 44: Android Studio y gradle. DroidconES 2014

DEPURACIÓN EN ANDROID (3)

• Analizando utilizando herramientas de DDMS **

Page 45: Android Studio y gradle. DroidconES 2014

LA ÚLTIMA DEMO

Page 46: Android Studio y gradle. DroidconES 2014

¡GRACIAS A TODOS!

REFERENCIASGuía usuario Gradle //goo.gl/5b89Ft

Android Develop //developer.android.com/training/index.html

Tools Android //tools.android.com/

Android Studio //developer.android.com/sdk/installing/studio.html

Comunidad de Android Developers.

Y otras fuentes que olvidé mencionar. ¡SORRY!

@KamilZabdyr