Android ist anders - Android Dependency Management



Similar documents
Dominik Helleberg inovex GmbH. Moderne Android Builds mit Gradle

Maven 3 New Features. Stefan Scheidt Solution Architect OPITZ CONSULTING GmbH

Developing Android Apps with the ArcGIS Runtime SDK for Android. Dan

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Timebox Planning View der agile Ansatz für die visuelle Planung von System Engineering Projekt Portfolios

Hello World. by Elliot Khazon

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Setting up Sudoku example on Android Studio

Practical Android Projects Lucas Jordan Pieter Greyling

Build management & Continuous integration. with Maven & Hudson

Fahim Uddin 1. Java SDK

Android Development. 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

Download and Installation Instructions. Android SDK and Android Development Tools (ADT)

Tutorial on Basic Android Setup

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Android Setup Phase 2

Hudson configuration manual

Advertiser Campaign SDK Your How-to Guide

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Getting Started with Android Development

Overview. About Interstitial Ads: About Banner Ads: About Offer-Wall Ads: ADAttract Account & ID

Basic Android Setup Windows Version

Android Application Development

System Reference 2013

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Board also Supports MicroBridge

Introduction to Android Programming (CS5248 Fall 2015)

How to Create an Android Application using Eclipse on Windows 7

Sonatype CLM for Maven. Sonatype CLM for Maven

As it relates to Android Studio. By Phil Malone:

Application example AC500 Scalable PLC for Individual Automation Communication between AC500 and KNX network abb

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

Meister Going Beyond Maven

Mocean Android SDK Developer Guide

Robotium Automated Testing for Android

Android Development Setup [Revision Date: 02/16/11]

01. Introduction of Android

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

With a single download, the ADT Bundle includes everything you need to begin developing apps:

ID TECH UniMag Android SDK User Manual

Developing with Android Studio

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

The power of root on Android emulators

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

22. April 2010 Siemens Enterprise Communications

ADT Plugin for Eclipse

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

The Android winds of change. From Kit-Kat to L, and the power of saving power

Abhängig Maven vs Ivy

Maven or how to automate java builds, tests and version management with open source tools

GContracts Programming by Contract with Groovy. Andre Steingress

Tutorial on OpenCV for Android Setup

J2EE-Application Server

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

AD2 - The future of mobile enterprise applications: Live from the Citrix Labs

OpenCV on Android Platforms

Developing In Eclipse, with ADT

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

Java with Eclipse: Setup & Getting Started

Android Programming: Installation, Setup, and Getting Started

DATA DISPLAY GROUP. Artista Software Development Kit (SDK) Artista Software Development Kit (SDK)

Embedded Software Development and Test in 2011 using a mini- HIL approach

Example Connection between USB Host and Android

NVIDIA Tegra Android Platform Support Pack Getting Started Guide

Application Development Setup Guide

How To Develop Android On Your Computer Or Tablet Or Phone

Jordan Jozwiak November 13, 2011

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Home Course Catalog Schedule Pricing & Savings Training Options Resources About Us

Continuous Integration For Fusion Middleware

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

Informatics for Integrating Biology & the Bedside. i2b2 Workbench Developer s Guide. Document Version: 1.0 i2b2 Software Release: 1.3.

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Safe Harbor Statement

Installing the Android SDK

Developing NFC Applications on the Android Platform. The Definitive Resource

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Homework 9 Android App for Weather Forecast

Maven 2 in the real world

IOIO for Android Beginners Guide Introduction

Getting started with Android and App Engine

O D B C / R O C K E T ( B S / O S D ) V 5. 0 F O R S E S A M / S Q L D A T E : F E B R U A R Y *2 R E L E A S E N O T I C E

Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)

Installation Guide of the Change Management API Reference Implementation

1) SETUP ANDROID STUDIO

Introduction to Programming Tools. Anjana & Shankar September,2010

Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04

Android Development Tools for Eclipse

Kotlin for Android Developers (Preview)

vs. Web Site: Blog: blog.soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise

Android Development Tutorial. Nikhil Yadav CSE40816/ Pervasive Health Fall 2011

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones

Transcription:

Android ist anders - Fabian Klaffke verit Informationssysteme GmbH

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Build Management Organisieren des Build-Prozesses: Code-Kompilierung Einbinden von Bibliotheken Build Management Tools Automatisierung des Build-Prozesses Maven, Ant, Buildr,...

Dependency Management Einbinden von Bibliotheken organisieren Welche Version binde ich ein? Transitive Abhängigkeiten Mehrfach eingebundene Bibliotheken Dependency Management Tools Maven, Gradle, Ivy,...

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Klaros-Testmanagement Mobile Edition

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Beispielanwendung Android 2.2

Beispielanwendung Bibliotheken einbinden 1) ActionBarSherlock 2) Support Library

Beispielanwendung Refresh

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Hello World Java Android

Bibliotheken Java Class-Dateien Android Class-Dateien, Ressourcen jar jar, apklib, aar, Library Project Tools Maven, Gradle, Ant,... Maven, Gradle, Ant, Android-Plugins

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Android-Bibliotheken

class files jar Android-Bibliotheken

Android-Bibliotheken class files jar Library Project Quellcode Ressourcendateien

Library Project Quellcode Ressourcendateien Standard Android Projekt Einziger Unterschied: project.properties enthält den Eintrag: android.library=true

Android-Bibliotheken class files jar Library Project Quellcode Ressourcendateien Quellcode apklib Ressourcendateien Maven

Quellcode Ressourcendateien apklib Herkunft: maven-android-plugin

Android-Bibliotheken class files jar Library Project Quellcode Ressourcendateien Gradle aar (Android Archive) apklib Maven class files Quellcode Ressourcendateien Ressourcendateien

aar

Android-Bibliotheken jar Library Project Maven-Repositories Projektseiten SDK-Manager aar (Android Archive) apklib SDK-Repositories

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Kommandozeile & Ant Library- Project jar aar apklib Ant maven Gradle

Library Project einbinden http://actionbarsherlock.com/ Library Project Ant android update project -path. android update project --target 14 --path <path to the project> --library..actionbarsherlock

jar einbinden jar Ant v4 support library v4 support library r19.1.0 SwipeRefreshLayout

Build-Fehler jar Ant

Ursache?? jar Ant Android Support Library Version 6

apklib einbinden apklib Ant Maven Quellcode apklib 1) unzip 2) Für Ant vorbereiten Library-Project Quellcode Ressourcendateien Ressourcendateien (Ant unterstützt keine apklibs)

aar einbinden aar Ant aar (Android Archive) class files Ressourcendateien Gradle 1) unzip 2) Klassen einbinden 3) Für Ant vorbereiten Library Project Quellcode Ressourcendateien (Ant unterstützt keine aars)

aar Klassen einbinden aar Ant actionbarsherlock.aar (entpackt)

Kommandozeile / Maven Maven Library- Project jar aar apklib Ant + + o o maven Gradle

<dependencies> <dependency> jar / apklib / aar jar, apklib, aar maven <groupid>com.actionbarsherlock</groupid> <artifactid>actionbarsherlock</artifactid> <version>4.4.0</version> <type>apklib</type> </dependency> </dependencies>... Copyright verit Informationssysteme GmbH, Europaallee 10, 67657 Kaiserslautern

support-v4 jar maven <dependency> <groupid>com.google.android</groupid> <artifactid>support-v4</artifactid> <version>r6</version> </dependency>

maven-android-sdk-deployer Kopiert Bibliotheken aus dem Support Repository in das lokale Repository (.m2) jar, aar maven <dependency> <groupid>com.android.support</groupid> <artifactid>support-v4</artifactid> <version>19.1.0</version> <scope>compile</scope> </dependency> https://github.com/mosabua/maven-android-sdk-deployer

SwipeRefreshLayout jar maven MavenCentral: Android 4.1.1.4 SDK Manager: Android 4.4.2

Library Projects einbinden Library Project maven Library Project Quellcode zip Quellcode apklib Ressourcendateien Ressourcendateien https://code.google.com/p/maven-android-plugin/wiki/apklib

Kommandozeile / Gradle Gradle Library- Project jar aar apklib Ant + + o o maven o + + + Gradle

Einbinden von jars jar Gradle dependencies { } compile files('libs/android-support-v4.jar') dependencies { } compile 'com.android.support:support-v4:19.1.0'

Einbinden von jars (aus einem Repository) jar Gradle Wird von Gradle erkannt! https://plus.google.com/+androiddevelopers/posts/4yhpn6p9icf

Einbinden von aars I aar Gradle repositories { } mavencentral() dependencies { } compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'

Einbinden von aars II aar Gradle minsdkversion Älteste unterstützte Android-Version targetsdkversion Zielplattform

Multi project setup (Library-Projects) Library Project Gradle :libraries:actionbarsherlock :Test dependencies { compile project(':libraries:actionbarsherlock') } http://tools.android.com/tech-docs/new-build-system/user-guide#toc-dependencies-android-li braries-and-multi-project-setup

apklibs einbinden apklib Gradle Android Maven plugin apklib aar (Android Archive) Quellcode class files Ressourcendateien Ressourcendateien https://github.com/carrot-garden/android_maven-android-plugin-samples/blob/maste r/libraryprojects/aar-from-apklib/pom.xml

Kommandozeile Fazit Library- Project jar aar apklib Ant + + o o maven o + + + Gradle + + + o

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs

Android: Eclipse ADT Plugin Eclipse maven, Gradle Eclipse Maven: Maven Eclipse Plugin Android for Maven Eclipse connector (m2e-android) Gradle: Gradle IDE Pack, Nodeclipse/Enide Gradle for Eclipse

Netbeans Voraussetzungen: NBAndroid (http://nbandroid.org/wiki/index.php/installation)

Maven Plugin wird mitgeliefert Netbeans Maven maven Netbeans Keine Unterstützung von apklibs: https://netbeans.org/bugzilla/show_bug.cgi?id=220446

Netbeans Gradle Gradle Netbeans Voraussetzung: 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)

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 Studio Basiert auf IntelliJ Nur für Android-Entwicklung ausgelegt Early Access Preview (Alpha)

Fazit

Agenda Build & Dependency-Management Motivation Fallbeispiel Android Android-Bibliotheken Bibliotheken einbinden IDEs Tipps & Tricks

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 API Levels 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............ http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#a pilevels