Entwicklung mit Android Studio und Gradle

1,075 views

Published on

Auf der Google I/O 2013 hat Google mit Android Studio eine InteliJ IDEA basierte Entwicklungsumgebung speziell für die Android Entwicklung vorgestellt. Seitdem wurde diese stark ausgebaut und erfreut sich einer steigenden Benutzerzahl. Zusammen mit der neuen IDE hat Google außerdem Gradle als zukünftiges Build-System für Android vorgestellt, welches viele Neuerungen bringt und Fehler des alten Build-Systems beheben soll. In diesem Vortrag wird gezeigt wo Android Studio in der Zwischenzeit angekommen ist, wie es im Vergleich zu Eclipse (und dem ADT-Plugin) abschneidet und wo der Weg (vermutlich) noch hinführen wird. Außerdem wird es eine Einführung in Gradle für Android geben und einige Möglichkeiten des neuen Build-Systems werden aufgezeigt. Der Vortrag richtet sich an alle Android-Entwickler (egal ob Anfänger oder Fortgeschrittene), welche bisher keinen oder kaum Kontakt mit Android Studio und/oder Gradle hatten.

Published in: Software, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,075
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Entwicklung mit Android Studio und Gradle

  1. 1. Entwicklung mit Android Studio und Gradle
  2. 2. Über mich • Tim Roes • Software Developer bei inovex GmbH www.timroes.de www.timroes.de/+
  3. 3. Android Studio 16. Mai 2013
  4. 4. Android Studio
  5. 5. Android Studio
  6. 6. Android Studio
  7. 7. Android Studio vs. Eclipse Features Stabilität Performance Weiterentwicklung
  8. 8. Features
  9. 9. Android Studio vs. Eclipse + Features + Stabilität Performance Weiterentwicklung
  10. 10. Android Studio vs. Eclipse + Features + ○ Stabilität + Performance Weiterentwicklung
  11. 11. Android Studio vs. Eclipse + Features + ○ Stabilität + ○ Performance ○ Weiterentwicklung
  12. 12. Weiterentwicklung
  13. 13. Android Studio vs. Eclipse + Features + ○ Stabilität + ○ Performance ○ + Weiterentwicklung ○
  14. 14. Apache License Groovy Gradleware IDE == Konsole
  15. 15. Gradle Wrapper $ gradle -q wrapper $ find . --magic-output-format gradlew.bat gradlew gradle └ wrapper └ gradle-wrapper.jar └ gradle-wrapper.properties .gradle └ 1.11 └ ...
  16. 16. Gradle Tasks $ ./gradlew tasks init wrapper dependencies help projects properties tasks
  17. 17. build.gradle apply plugin: "java"
  18. 18. build.gradle apply plugin: "java" repositories { mavenCentral() } dependencies { compile 'com.google.guava:guava:17.+' }
  19. 19. build.gradle apply plugin: "java" repositories { mavenCentral() maven { url "http://maven.mycompany.com/" } } dependencies { compile 'com.google.guava:guava:17.+' testCompile 'junit:junit:4.11' compile fileTree(dir: 'libs', include: ['*.jar']) }
  20. 20. Android Plugin buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } } apply plugin: "android"
  21. 21. Versions Hölle Android Studio Android Plugin Gradle 0.10 1.12 1.11 1.10 0.9 0.8 1.90.7 0.5.8 0.5.0 0.4.6 0.5.7
  22. 22. Android Tasks $ ./gradlew tasks clean assemble check build installDebug connectedCheck deviceCheck
  23. 23. Android Projekt Struktur project module settings.gradle build.gradle local.properties src build.gradle main androidTest java res assets AndroidManifest.xml
  24. 24. Android Config android { compileSdkVersion 19 buildToolsVersion "19.1" defaultConfig { minSdkVersion 14 targetSdkVersion 19 versionCode 5 versionName "1.3.1" } }
  25. 25. Build Types android { buildTypes { debug { packageNameSuffix ".debug" } proGuard.initWith(buildTypes.debug) proGuard { runProguard true proguardFile 'proguard-rules.txt' } } }
  26. 26. Multi-APK/Version Library Paid-App Demo
  27. 27. Projektstruktur src └ main └ java └ res └ paid └ java └ res └ free └ java └ res AndroidManifest.xml
  28. 28. Product Flavors productFlavors { paid { packageName "com.mycompany.app.paid" } free { packageName "com.mycompany.app.free" minSdkVersion 8 } }
  29. 29. Build Variant Build Variant = Product Flavor + BuildType paidDebug freeDebug paidRelease freeRelease paidProGuard freeProGuard
  30. 30. Kann ich Android Studio schon produktiv einsetzen? Ja, aber...
  31. 31. Literaturempfehlung Gradle: Ein kompakter Einstieg in das Build- Management-System Joachim Baumann Prorgramming Groovy 2: Dynamic Productivity for the Java Developer Venkat Subramaniam
  32. 32. www.timroes.de www.inovex.de Disclaimer: Logos are copyrighted trademarks by their respective companies. Android Robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.
  33. 33. NDK Builds android { defaultConfig { ndk { moduleName "jni-utils" ldLibs "log", "GLESv2" } } productFlavors { arm { ndk { abiFilters "armeabi", "armeabi-v7a" } } } }
  34. 34. Multi-flavor variants android { flavorGroups "abi", "version" productFlavors { free { flavorGroup "version" } paid { flavorGroup "version" } x86 { flavorGroup "abi" } arm { flavorGroup "abi" } } }

×