57
www.verit.de © Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern Android ist anders - Android Dependency Management Fabian Klaffke verit Informationssysteme GmbH Android Dependency Management

Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android ist anders -

Android Dependency Management

Fabian Klaffke

verit Informationssysteme GmbH

Android Dependency Management

Page 2: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 3: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Build Management

• Organisieren des Build-Prozesses:– Code-Kompilierung

– Einbinden von Bibliotheken

• Build Management Tools– Automatisierung des Build-Prozesses

– Maven, Ant, Buildr, ...

Android Dependency Management

Page 4: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Dependency Management

• Einbinden von Bibliotheken organisieren– Welche Version binde ich ein?

– Transitive Abhängigkeiten

– Mehrfach eingebundene Bibliotheken

• Dependency Management Tools– Maven, Gradle, Ivy, ...

Android Dependency Management

Page 5: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 6: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Klaros-Testmanagement Mobile Edition

Android Dependency Management

Page 7: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 8: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Beispielanwendung

Android 2.2

Android Dependency Management

Page 9: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Beispielanwendung

Bibliotheken einbinden

1) ActionBarSherlock

2) Support Library

Android Dependency Management

Page 10: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Beispielanwendung

Refresh

Android Dependency Management

Page 11: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 12: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Hello World

Java Android

Android Dependency Management

Page 13: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Bibliotheken

• Java– Class-Dateien

– jar

• Maven, Gradle, Ant, ...

• Android– Class-Dateien, Ressourcen

– jar, apklib, aar, Library Project

• Maven, Gradle, Ant, …• Android-Plugins

● Tools

Android Dependency Management

Page 14: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 15: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android-Bibliotheken

Android Dependency Management

Page 16: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android-Bibliotheken

jar• class files

Android Dependency Management

Page 17: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android-Bibliotheken

Library Project● Quellcode● Ressourcendateien

jar• class files

Android Dependency Management

Page 18: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Library Project

• Quellcode

• Ressourcendateien

• Standard Android Projekt

• Einziger Unterschied:

project.properties enthält den Eintrag:– android.library=true

Android Dependency Management

Page 19: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android-Bibliotheken

Library Project● Quellcode● Ressourcendateien

jar• class files

apklib● Quellcode● Ressourcendateien

Maven

Android Dependency Management

Page 20: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

apklib• Quellcode

• Ressourcendateien

• Herkunft: maven-android-plugin

Android Dependency Management

Page 21: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android-Bibliotheken

Library Project● Quellcode● Ressourcendateien

jar• class files

apklib● Quellcode● Ressourcendateien

aar (Android Archive)• class files

• Ressourcendateien

Gradle Maven

Android Dependency Management

Page 22: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

aar

Android Dependency Management

Page 23: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android-Bibliotheken

aar (Android Archive)

apklib

jar Library Project • Maven-Repositories• Projektseiten• SDK-Manager• SDK-Repositories

Android Dependency Management

Page 24: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 25: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Kommandozeile & Ant

Library-Project

jar aar apklib

Ant

maven

Gradle

Android Dependency Management

Page 26: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Library Project einbindenhttp://actionbarsherlock.com/

Library Project

Ant

android update project -path .

android update project --target 14 --path <path to the project> --library ..actionbarsherlock

Android Dependency Management

Page 27: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

jar einbinden

● v4 support library– v4 support library r19.1.0 → SwipeRefreshLayout

jar

Ant

Android Dependency Management

Page 28: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Build-Fehlerjar

Ant

Android Dependency Management

Page 29: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Ursache??

Android Support Library

Version 6

jar

Ant

Android Dependency Management

Page 30: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

apklib einbinden

(Ant unterstützt keine apklibs)

apklib• Quellcode

• Ressourcendateien

Library-Project● Quellcode● Ressourcendateien

1) unzip

apklib

Ant

Maven

2) Für Ant vorbereiten

Android Dependency Management

Page 31: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

aar einbinden

(Ant unterstützt keine aars)

aar (Android Archive)• class files

• Ressourcendateien

Library Project● Quellcode● Ressourcendateien

aar

Ant

Gradle

1) unzip

3) Für Ant vorbereiten

2) Klassen einbinden

Android Dependency Management

Page 32: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

aar – Klassen einbindenaar

Ant

actionbarsherlock.aar (entpackt)

Android Dependency Management

Page 33: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Maven

Kommandozeile / Maven

Library-Project

jar aar apklib

Ant + + o o

maven

Gradle

Android Dependency Management

Page 34: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

jar / apklib / aar…

<dependencies>

<dependency>

<groupId>com.actionbarsherlock</groupId>

<artifactId>actionbarsherlock</artifactId>

<version>4.4.0</version>

<type>apklib</type>

</dependency>

</dependencies>

...

jar, apklib, aar

maven

Android Dependency Management

Page 35: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

support-v4

<dependency><groupId>com.google.android</groupId><artifactId>support-v4</artifactId><version>r6</version>

</dependency>

jar

maven

Android Dependency Management

Page 36: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

maven-android-sdk-deployer• Kopiert Bibliotheken aus dem Support Repository in das

lokale Repository (.m2)

https://github.com/mosabua/maven-android-sdk-deployer

<dependency><groupId>com.android.support</groupId><artifactId>support-v4</artifactId><version>19.1.0</version><scope>compile</scope>

</dependency>

jar, aar

maven

Android Dependency Management

Page 37: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

SwipeRefreshLayoutjar

maven

MavenCentral: Android 4.1.1.4

SDK Manager: Android 4.4.2

Android Dependency Management

Page 38: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Library Projects einbinden

https://code.google.com/p/maven-android-plugin/wiki/ApkLib

Library Project• Quellcode

• Ressourcendateien

apklib● Quellcode● Ressourcendateien

zip

Library Project

maven

Android Dependency Management

Page 39: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Gradle

Kommandozeile / GradleKommandozeile / Gradle

Library-Project

jar aar apklib

Ant + + o o

maven o + + +

Gradle

Android Dependency Management

Page 40: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Einbinden von jars

dependencies {

compile files('libs/android-support-v4.jar')

}

dependencies {

compile 'com.android.support:support-v4:19.1.0'

}

jar

Gradle

Android Dependency Management

Page 41: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Einbinden von jars (aus einem Repository)

Wird von Gradle erkannt!

https://plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf

jar

Gradle

Android Dependency Management

Page 42: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Einbinden von aars I

repositories {

mavenCentral()

}

dependencies {

compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

}

aar

Gradle

Android Dependency Management

Page 43: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Einbinden von aars II

• minSdkVersion

– Älteste unterstützte Android-Version

• targetSdkVersion

– Zielplattform

aar

Gradle

Android Dependency Management

Page 44: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Multi project setup (Library-Projects)

:libraries:actionbarsherlock

:Test

Library Project

Gradle

dependencies { compile project(':libraries:actionbarsherlock') }

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Dependencies-Android-Libraries-and-Multi-project-setup

Android Dependency Management

Page 45: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

apklibs einbinden

• Android Maven plugin

apklib● Quellcode● Ressourcendateien

aar (Android Archive)● class files● Ressourcendateien

https://github.com/carrot-garden/android_maven-android-plugin-samples/blob/master/libraryprojects/aar-from-apklib/pom.xml

apklib

Gradle

Android Dependency Management

Page 46: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Fazit

Kommandozeile

Library-Project

jar aar apklib

Ant + + o o

maven o + + +

Gradle + + + o

Android Dependency Management

Page 47: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

Android Dependency Management

Page 48: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android:

• Eclipse ADT Plugin

Maven:

• Maven Eclipse Plugin

• Android for Maven Eclipse connector (m2e-android)

Gradle:

• Gradle IDE Pack , Nodeclipse/Enide Gradle for Eclipse

maven, Gradle

EclipseEclipse

Android Dependency Management

Page 49: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Netbeans

• Voraussetzungen:

– NBAndroid (http://nbandroid.org/wiki/index.php/Installation)

Android Dependency Management

Page 50: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Netbeans – Maven• Maven Plugin wird mitgeliefert

• Keine Unterstützung von apklibs:

https://netbeans.org/bugzilla/show_bug.cgi?id=220446

maven

Netbeans

Android Dependency Management

Page 51: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Netbeans – GradleVoraussetzung:

• Gradle Support Plugin

– http://plugins.netbeans.org/plugin/44510/gradle-support

ABER:

• Android-Gradle-Kompatibilität des NBAndroid-Plugins kostenpflichtig! (http://nbandroid.org/wiki/index.php/Subscriptions)

Gradle

Netbeans

Android Dependency Management

Page 52: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

IntelliJ (Community Edition)

Inklusive Gradle, Android, Maven Plugins

• Import von Gradle, Maven und Eclipse-Projekten

• Nahtlose Gradle-Unterstützung

• Maven-Android Unterstützung inkl. aar, apklib

• Einbinden von Library-Projekten

Android Dependency Management

Page 53: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android Studio

• Basiert auf IntelliJ

• Nur für Android-Entwicklung ausgelegt

• „Early Access Preview“ (Alpha)

Android Dependency Management

Page 54: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Fazit

Android Dependency Management

Page 55: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Agenda

• Build & Dependency-Management

• Motivation

• Fallbeispiel

• Android– Android-Bibliotheken

– Bibliotheken einbinden

– IDEs

– Tipps & Tricks

Android Dependency Management

Page 56: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Java 7

• Android SDK Tools, Revision 22.6 (March 2014)

minsdversion = 8

try-with-resources: minsdkversion = 19

http://developer.android.com/tools/sdk/tools-notes.html

Android Dependency Management

Page 57: Android ist anders Android Dependency Management · 2018-06-28 · Build Management • Organisieren des Build-Prozesses: – Code-Kompilierung – Einbinden von Bibliotheken •

www.verit.de© Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

Android Dependency Management

Android API Levels

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

Plattform Version API Level Version Code Android Target ID

Android 4.4 19 KITKAT 18

Android 4.3 18 JELLY_BEAN_MR2 17

Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 16

Android 4.1, 4.1.1 16 JELLY_BEAN 15

... ... ... ...

Android Dependency ManagementAndroid Dependency Management