Open Source Android Development Tools

Manfred Moser

simpligility.com

July, 2011

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 1 / 30 Table of Contents

Open Source Android Development Tools - SDK, ADT and beyond

1 Android Itself

2 Development Tools

3 Development Libraries

4 Conclusions

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 2 / 30 Core committer Maven Android Plugin Project lead ksoap2-android Committer RoboGuice Committer Hudson Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Project lead ksoap2-android Committer RoboGuice Committer Hudson Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer Core committer Maven Android Plugin

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Committer RoboGuice Committer Hudson Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer Core committer Maven Android Plugin Project lead ksoap2-android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Committer Hudson Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer Core committer Maven Android Plugin Project lead ksoap2-android Committer RoboGuice

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer Core committer Maven Android Plugin Project lead ksoap2-android Committer RoboGuice Committer Hudson

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer Core committer Maven Android Plugin Project lead ksoap2-android Committer RoboGuice Committer Hudson Book author, presenter and consultant

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Twitter @simpligility , G+ Manfred Moser

About Manfred

Android application developer Core committer Maven Android Plugin Project lead ksoap2-android Committer RoboGuice Committer Hudson Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 About Manfred

Android application developer Core committer Maven Android Plugin Project lead ksoap2-android Committer RoboGuice Committer Hudson Book author, presenter and consultant Leader of Vancouver Island JUG, BC, Canada Twitter @simpligility , G+ Manfred Moser

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 3 / 30 Android Open Source Project AOSP subset of above Android Software Development Kit SDK for based development applications Android Native Development Kit NDK for /C++ based development Android Open Accessory Development Kit ADK for USB based hardware hacking Android Development Toolkit ADT plugin for Android development

Android Itself Components What components make up Android codebase?

Android Proper as found on your device

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 4 / 30 Android Software Development Kit SDK for Java based development applications Android Native Development Kit NDK for C/C++ based development Android Open Accessory Development Kit ADK for USB based hardware hacking Android Development Toolkit ADT Eclipse plugin for Android development

Android Itself Components What components make up Android codebase?

Android Proper as found on your device Android Open Source Project AOSP subset of above

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 4 / 30 Android Native Development Kit NDK for C/C++ based development Android Open Accessory Development Kit ADK for USB based hardware hacking Android Development Toolkit ADT Eclipse plugin for Android development

Android Itself Components What components make up Android codebase?

Android Proper as found on your device Android Open Source Project AOSP subset of above Android Software Development Kit SDK for Java based development applications

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 4 / 30 Android Open Accessory Development Kit ADK for USB based hardware hacking Android Development Toolkit ADT Eclipse plugin for Android development

Android Itself Components What components make up Android codebase?

Android Proper as found on your device Android Open Source Project AOSP subset of above Android Software Development Kit SDK for Java based development applications Android Native Development Kit NDK for C/C++ based development

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 4 / 30 Android Development Toolkit ADT Eclipse plugin for Android development

Android Itself Components What components make up Android codebase?

Android Proper as found on your device Android Open Source Project AOSP subset of above Android Software Development Kit SDK for Java based development applications Android Native Development Kit NDK for C/C++ based development Android Open Accessory Development Kit ADK for USB based hardware hacking

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 4 / 30 Android Itself Components What components make up Android codebase?

Android Proper as found on your device Android Open Source Project AOSP subset of above Android Software Development Kit SDK for Java based development applications Android Native Development Kit NDK for C/C++ based development Android Open Accessory Development Kit ADK for USB based hardware hacking Android Development Toolkit ADT Eclipse plugin for Android development

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 4 / 30 Apache Harmony Lots of other open source components Custom Android related components like VM binary device driver and other blobs patched components, custom drivers and different applications from manufacturer and provider

Android Itself Android Proper Android Proper - As Found on Your Device

Linux

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 5 / 30 Lots of other open source components Custom Android related components like Dalvik VM binary device driver and other blobs patched components, custom drivers and different applications from manufacturer and provider

Android Itself Android Proper Android Proper - As Found on Your Device

Linux Apache Harmony

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 5 / 30 Custom Android related components like Dalvik VM binary device driver and other blobs patched components, custom drivers and different applications from manufacturer and provider

Android Itself Android Proper Android Proper - As Found on Your Device

Linux Apache Harmony Lots of other open source components

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 5 / 30 binary device driver and other blobs patched components, custom drivers and different applications from manufacturer and provider

Android Itself Android Proper Android Proper - As Found on Your Device

Linux Apache Harmony Lots of other open source components Custom Android related components like Dalvik VM

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 5 / 30 patched components, custom drivers and different applications from manufacturer and provider

Android Itself Android Proper Android Proper - As Found on Your Device

Linux Apache Harmony Lots of other open source components Custom Android related components like Dalvik VM binary device driver and other blobs

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 5 / 30 Android Itself Android Proper Android Proper - As Found on Your Device

Linux Apache Harmony Lots of other open source components Custom Android related components like Dalvik VM binary device driver and other blobs patched components, custom drivers and different applications from manufacturer and provider

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 5 / 30 numerous specific components e.g. Dalvik various forks from upstream project base for custom roms and such various different open source licenses source released in drops, sometimes late or not yet

Android Itself AOSP Android Open Source Project AOSP

Linux, Apache Harmony, OpenGL ES and lots more

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 6 / 30 various forks from upstream project base for custom roms and such various different open source licenses source released in drops, sometimes late or not yet

Android Itself AOSP Android Open Source Project AOSP

Linux, Apache Harmony, OpenGL ES and lots more numerous specific components e.g. Dalvik

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 6 / 30 base for custom roms and such various different open source licenses source released in drops, sometimes late or not yet

Android Itself AOSP Android Open Source Project AOSP

Linux, Apache Harmony, OpenGL ES and lots more numerous specific components e.g. Dalvik various forks from upstream project

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 6 / 30 various different open source licenses source released in drops, sometimes late or not yet

Android Itself AOSP Android Open Source Project AOSP

Linux, Apache Harmony, OpenGL ES and lots more numerous specific components e.g. Dalvik various forks from upstream project base for custom roms and such

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 6 / 30 source released in drops, sometimes late or not yet

Android Itself AOSP Android Open Source Project AOSP

Linux, Apache Harmony, OpenGL ES and lots more numerous specific components e.g. Dalvik various forks from upstream project base for custom roms and such various different open source licenses

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 6 / 30 Android Itself AOSP Android Open Source Project AOSP

Linux, Apache Harmony, OpenGL ES and lots more numerous specific components e.g. Dalvik various forks from upstream project base for custom roms and such various different open source licenses source released in drops, sometimes late or not yet

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 6 / 30 cooperating with Eclipse projects, external contributors ... fully open source, all commits right to public git repo

available at http://tools.android.com/

Android Itself Android Tools Android Tools

development tools like ADT, DDMS and related tools that form SDK

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 7 / 30 fully open source, all commits right to public git repo

available at http://tools.android.com/

Android Itself Android Tools Android Tools

development tools like ADT, DDMS and related tools that form SDK cooperating with Eclipse projects, external contributors ...

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 7 / 30 available at http://tools.android.com/

Android Itself Android Tools Android Tools

development tools like ADT, DDMS and related tools that form SDK cooperating with Eclipse projects, external contributors ... fully open source, all commits right to public git repo

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 7 / 30 Android Itself Android Tools Android Tools

development tools like ADT, DDMS and related tools that form SDK cooperating with Eclipse projects, external contributors ... fully open source, all commits right to public git repo

available at http://tools.android.com/

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 7 / 30 full tool suite including debugging, profiling and so on graphical layout editor very powerful also with help of further Eclipse plugins (e.g. Mylyn, egit. . . ) well architected so that most components work outside Eclipse too

Development Tools IDEs Eclipse and ADT and friends

default supported development environment

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 8 / 30 graphical layout editor very powerful also with help of further Eclipse plugins (e.g. Mylyn, egit. . . ) well architected so that most components work outside Eclipse too

Development Tools IDEs Eclipse and ADT and friends

default supported development environment full tool suite including debugging, profiling and so on

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 8 / 30 very powerful also with help of further Eclipse plugins (e.g. Mylyn, egit. . . ) well architected so that most components work outside Eclipse too

Development Tools IDEs Eclipse and ADT and friends

default supported development environment full tool suite including debugging, profiling and so on graphical layout editor

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 8 / 30 well architected so that most components work outside Eclipse too

Development Tools IDEs Eclipse and ADT and friends

default supported development environment full tool suite including debugging, profiling and so on graphical layout editor very powerful also with help of further Eclipse plugins (e.g. Mylyn, egit. . . )

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 8 / 30 Development Tools IDEs Eclipse and ADT and friends

default supported development environment full tool suite including debugging, profiling and so on graphical layout editor very powerful also with help of further Eclipse plugins (e.g. Mylyn, egit. . . ) well architected so that most components work outside Eclipse too

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 8 / 30 Jetbrains IntelliJ IDEA CE http://www.jetbrains.org/ fully open source, includes Android support

Oracle Netbeans http://kenai.com/projects/nbandroid/ fully open source, community maintained plugin for Android

Emacs http://gitorious.org/emacs-android-minor-mode fully open source, limited

Development Tools IDEs Other IDE’s

Motorola MOTODEV Studio http://developer.motorola.com/docstools/motodevstudio/ partly open source, commiting upstream to ADT and Eclipse

Sequoyah http://eclipse.org/sequoyah/

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 9 / 30 Oracle Netbeans http://kenai.com/projects/nbandroid/ fully open source, community maintained plugin for Android

Emacs http://gitorious.org/emacs-android-minor-mode fully open source, limited

Development Tools IDEs Other IDE’s

Motorola MOTODEV Studio http://developer.motorola.com/docstools/motodevstudio/ partly open source, commiting upstream to ADT and Eclipse

Sequoyah http://eclipse.org/sequoyah/

Jetbrains IntelliJ IDEA CE http://www.jetbrains.org/ fully open source, includes Android support

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 9 / 30 Emacs http://gitorious.org/emacs-android-minor-mode fully open source, limited

Development Tools IDEs Other IDE’s

Motorola MOTODEV Studio http://developer.motorola.com/docstools/motodevstudio/ partly open source, commiting upstream to ADT and Eclipse

Sequoyah http://eclipse.org/sequoyah/

Jetbrains IntelliJ IDEA CE http://www.jetbrains.org/ fully open source, includes Android support

Oracle Netbeans http://kenai.com/projects/nbandroid/ fully open source, community maintained plugin for Android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 9 / 30 Development Tools IDEs Other IDE’s

Motorola MOTODEV Studio http://developer.motorola.com/docstools/motodevstudio/ partly open source, commiting upstream to ADT and Eclipse

Sequoyah http://eclipse.org/sequoyah/

Jetbrains IntelliJ IDEA CE http://www.jetbrains.org/ fully open source, includes Android support

Oracle Netbeans http://kenai.com/projects/nbandroid/ fully open source, community maintained plugin for Android

Emacs http://gitorious.org/emacs-android-minor-mode fully open source, limited

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 9 / 30 Maven Android SDK Deployer https://github.com/mosabua/maven-android-sdk-deployer deploy artifacts from SDK to Maven repository

Android4Maven http://sourceforge.net/projects/android4maven/ bundle android. from AOSP to submit to Maven central

M2E Android https://github.com/rgladwell/m2e-android Maven build to play nice with ADT

AndroidSDKFido https://github.com/joakime/android-sdkfido build source and javadoc artifacts

Android RIndirect https://github.com/akquinet/android-rindirect help with component reuse

Development Tools Build Tools Maven Android Plugin and Friends

Maven Android Plugin http://code.google.com/p/maven-android-plugin/ build apk, deploy to devices, run tests and lots more

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 10 / 30 Android4Maven http://sourceforge.net/projects/android4maven/ bundle android.jar from AOSP to submit to Maven central

M2E Android https://github.com/rgladwell/m2e-android Maven build to play nice with ADT

AndroidSDKFido https://github.com/joakime/android-sdkfido build source and javadoc artifacts

Android RIndirect https://github.com/akquinet/android-rindirect help with component reuse

Development Tools Build Tools Maven Android Plugin and Friends

Maven Android Plugin http://code.google.com/p/maven-android-plugin/ build apk, deploy to devices, run tests and lots more

Maven Android SDK Deployer https://github.com/mosabua/maven-android-sdk-deployer deploy artifacts from SDK to Maven repository

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 10 / 30 M2E Android https://github.com/rgladwell/m2e-android Maven build to play nice with ADT

AndroidSDKFido https://github.com/joakime/android-sdkfido build source and javadoc artifacts

Android RIndirect https://github.com/akquinet/android-rindirect help with component reuse

Development Tools Build Tools Maven Android Plugin and Friends

Maven Android Plugin http://code.google.com/p/maven-android-plugin/ build apk, deploy to devices, run tests and lots more

Maven Android SDK Deployer https://github.com/mosabua/maven-android-sdk-deployer deploy artifacts from SDK to Maven repository

Android4Maven http://sourceforge.net/projects/android4maven/ bundle android.jar from AOSP to submit to Maven central

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 10 / 30 AndroidSDKFido https://github.com/joakime/android-sdkfido build source and javadoc artifacts

Android RIndirect https://github.com/akquinet/android-rindirect help with component reuse

Development Tools Build Tools Maven Android Plugin and Friends

Maven Android Plugin http://code.google.com/p/maven-android-plugin/ build apk, deploy to devices, run tests and lots more

Maven Android SDK Deployer https://github.com/mosabua/maven-android-sdk-deployer deploy artifacts from SDK to Maven repository

Android4Maven http://sourceforge.net/projects/android4maven/ bundle android.jar from AOSP to submit to Maven central

M2E Android https://github.com/rgladwell/m2e-android Maven build to play nice with ADT

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 10 / 30 Android RIndirect https://github.com/akquinet/android-rindirect help with component reuse

Development Tools Build Tools Maven Android Plugin and Friends

Maven Android Plugin http://code.google.com/p/maven-android-plugin/ build apk, deploy to devices, run tests and lots more

Maven Android SDK Deployer https://github.com/mosabua/maven-android-sdk-deployer deploy artifacts from SDK to Maven repository

Android4Maven http://sourceforge.net/projects/android4maven/ bundle android.jar from AOSP to submit to Maven central

M2E Android https://github.com/rgladwell/m2e-android Maven build to play nice with ADT

AndroidSDKFido https://github.com/joakime/android-sdkfido build source and javadoc artifacts

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 10 / 30 Development Tools Build Tools Maven Android Plugin and Friends

Maven Android Plugin http://code.google.com/p/maven-android-plugin/ build apk, deploy to devices, run tests and lots more

Maven Android SDK Deployer https://github.com/mosabua/maven-android-sdk-deployer deploy artifacts from SDK to Maven repository

Android4Maven http://sourceforge.net/projects/android4maven/ bundle android.jar from AOSP to submit to Maven central

M2E Android https://github.com/rgladwell/m2e-android Maven build to play nice with ADT

AndroidSDKFido https://github.com/joakime/android-sdkfido build source and javadoc artifacts

Android RIndirect https://github.com/akquinet/android-rindirect help with component reuse

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 10 / 30 SBT Android Plugin https://github.com/jberkel/android-plugin for the Scala based build system SBT, Scala based Android applications Rake/Ruboto/Maven for JRuby Android applications

Development Tools Build Tools Others

Gradle Android Plugin https://code.google.com/p/gradle-android-plugin/ for the Groovy based build system Gradle for

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 11 / 30 Rake/Ruboto/Maven for JRuby Android applications

Development Tools Build Tools Others

Gradle Android Plugin https://code.google.com/p/gradle-android-plugin/ for the Groovy based build system Gradle for

SBT Android Plugin https://github.com/jberkel/android-plugin for the Scala based build system SBT, Scala based Android applications

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 11 / 30 Development Tools Build Tools Others

Gradle Android Plugin https://code.google.com/p/gradle-android-plugin/ for the Groovy based build system Gradle for

SBT Android Plugin https://github.com/jberkel/android-plugin for the Scala based build system SBT, Scala based Android applications Rake/Ruboto/Maven for JRuby Android applications

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 11 / 30 reuse of other Maven plugins use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . . Proguard support Native components and libraries Scala support more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . . Proguard support Native components and libraries Scala support more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 full release cycle sign, zipalign, automatic versioning, . . . Proguard support Native components and libraries Scala support more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins use of libraries and Android components easy

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 Proguard support Native components and libraries Scala support more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . .

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 Native components and libraries Scala support more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . . Proguard support

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 Scala support more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . . Proguard support Native components and libraries

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 more

Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . . Proguard support Native components and libraries Scala support

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 Development Tools Build Tools Maven Android Plugin - Example

deploy to multiple devices and run tests reuse of other Maven plugins use of libraries and Android components easy full release cycle sign, zipalign, automatic versioning, . . . Proguard support Native components and libraries Scala support more

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 12 / 30 DroidDraw http://www.droiddraw.org/ UI build and design tool

dex2jar http://code.google.com/p/dex2jar/ converter from dex to jar format

smali/baksmali http://code.google.com/p/smali/ dex assembler/disassembler

Android2PO https://github.com/miracle2k/android2po Converter for Android strings to gettext

Development Tools Other Development Tools Other Development Tools

Droid at Screen http://blog.ribomation.com/2010/01/droidscreen/ device screen recorder/projector

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 13 / 30 dex2jar http://code.google.com/p/dex2jar/ converter from dex to jar format

smali/baksmali http://code.google.com/p/smali/ dex assembler/disassembler

Android2PO https://github.com/miracle2k/android2po Converter for Android strings to gettext

Development Tools Other Development Tools Other Development Tools

Droid at Screen http://blog.ribomation.com/2010/01/droidscreen/ device screen recorder/projector

DroidDraw http://www.droiddraw.org/ UI build and design tool

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 13 / 30 smali/baksmali http://code.google.com/p/smali/ dex assembler/disassembler

Android2PO https://github.com/miracle2k/android2po Converter for Android strings to gettext

Development Tools Other Development Tools Other Development Tools

Droid at Screen http://blog.ribomation.com/2010/01/droidscreen/ device screen recorder/projector

DroidDraw http://www.droiddraw.org/ UI build and design tool

dex2jar http://code.google.com/p/dex2jar/ converter from dex to jar format

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 13 / 30 Android2PO https://github.com/miracle2k/android2po Converter for Android strings to gettext

Development Tools Other Development Tools Other Development Tools

Droid at Screen http://blog.ribomation.com/2010/01/droidscreen/ device screen recorder/projector

DroidDraw http://www.droiddraw.org/ UI build and design tool

dex2jar http://code.google.com/p/dex2jar/ converter from dex to jar format

smali/baksmali http://code.google.com/p/smali/ dex assembler/disassembler

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 13 / 30 Development Tools Other Development Tools Other Development Tools

Droid at Screen http://blog.ribomation.com/2010/01/droidscreen/ device screen recorder/projector

DroidDraw http://www.droiddraw.org/ UI build and design tool

dex2jar http://code.google.com/p/dex2jar/ converter from dex to jar format

smali/baksmali http://code.google.com/p/smali/ dex assembler/disassembler

Android2PO https://github.com/miracle2k/android2po Converter for Android strings to gettext

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 13 / 30 google-gson http://code.google.com/p/google-gson/ JSON

SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

ormlite http://ormlite.com/ light-weight object relational mapping tool

Twitter4J http://twitter4j.org/ twitter integration library

Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

ormlite http://ormlite.com/ light-weight object relational mapping tool

Twitter4J http://twitter4j.org/ twitter integration library

Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

google-gson http://code.google.com/p/google-gson/ JSON library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

ormlite http://ormlite.com/ light-weight object relational mapping tool

Twitter4J http://twitter4j.org/ twitter integration library

Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

google-gson http://code.google.com/p/google-gson/ JSON library

SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

ormlite http://ormlite.com/ light-weight object relational mapping tool

Twitter4J http://twitter4j.org/ twitter integration library

Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

google-gson http://code.google.com/p/google-gson/ JSON library

SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 ormlite http://ormlite.com/ light-weight object relational mapping tool

Twitter4J http://twitter4j.org/ twitter integration library

Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

google-gson http://code.google.com/p/google-gson/ JSON library

SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 Twitter4J http://twitter4j.org/ twitter integration library

Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

google-gson http://code.google.com/p/google-gson/ JSON library

SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

ormlite http://ormlite.com/ light-weight object relational mapping tool

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 Development Libraries Java Libraries Java Libraries suitable for Android

Jackson http://jackson.codehaus.org/ JSON library

google-gson http://code.google.com/p/google-gson/ JSON library

SimpleXML http://simple.sourceforge.net/home.php XML serialization framework

ksoap2-android http://code.google.com/p/ksoap2-android/ SOAP library

WSDL2Android https://github.com/kigero/WSDL2Android code generator for ksoap2-android

ormlite http://ormlite.com/ light-weight object relational mapping tool

Twitter4J http://twitter4j.org/ twitter integration library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 14 / 30 AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks

Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 Development Libraries Android Specific Frameworks and Libraries Frameworks for General Purpose Usage

Roboguice http://roboguice.org Google Guice IoC based framework

AndroidAnnotations http://code.google.com/p/androidannotations/ annotation based code generation framework

DroidFu http://github.com/kaeppler/droid-fu general purpose collection of helper classes

CommonsWare Android Components CWAC https://github.com/commonsguy collection of helper classes and widget

DroidKit https://github.com/droidkit/droidkit collection of Android API extensions

Libs for Android http://code.google.com/p/libs-for-android/ collection of libraries

AndroidLibs http://www.androidlibs.com/ social and contact related libraries

AndroidAsync https://bitbucket.org/hal/android-async/ alternate implementation for asynchronous tasks Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 15 / 30 Jon’s Java Imaging Library http://code.google.com/p/jjil/ image processing library

OpenCV-Android http://billmccord.github.com/OpenCV-Android/ real time computer vision library

Facebook Android SDK https://github.com/facebook/facebook-android-sdk your guess ;-)

MapsForge http://code.google.com/p/mapsforge/ OpenStreetMap toolbox

OSMDroid http://code.google.com/p/osmdroid/ OpenStreetMap toolbox

Development Libraries Android Specific Frameworks and Libraries Libraries for Specific Use Cases

ZXing http://code.google.com/p/zxing/ barcode scanning library and application

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 16 / 30 OpenCV-Android http://billmccord.github.com/OpenCV-Android/ real time computer vision library

Facebook Android SDK https://github.com/facebook/facebook-android-sdk your guess ;-)

MapsForge http://code.google.com/p/mapsforge/ OpenStreetMap toolbox

OSMDroid http://code.google.com/p/osmdroid/ OpenStreetMap toolbox

Development Libraries Android Specific Frameworks and Libraries Libraries for Specific Use Cases

ZXing http://code.google.com/p/zxing/ barcode scanning library and application

Jon’s Java Imaging Library http://code.google.com/p/jjil/ image processing library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 16 / 30 Facebook Android SDK https://github.com/facebook/facebook-android-sdk your guess ;-)

MapsForge http://code.google.com/p/mapsforge/ OpenStreetMap toolbox

OSMDroid http://code.google.com/p/osmdroid/ OpenStreetMap toolbox

Development Libraries Android Specific Frameworks and Libraries Libraries for Specific Use Cases

ZXing http://code.google.com/p/zxing/ barcode scanning library and application

Jon’s Java Imaging Library http://code.google.com/p/jjil/ image processing library

OpenCV-Android http://billmccord.github.com/OpenCV-Android/ real time computer vision library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 16 / 30 MapsForge http://code.google.com/p/mapsforge/ OpenStreetMap toolbox

OSMDroid http://code.google.com/p/osmdroid/ OpenStreetMap toolbox

Development Libraries Android Specific Frameworks and Libraries Libraries for Specific Use Cases

ZXing http://code.google.com/p/zxing/ barcode scanning library and application

Jon’s Java Imaging Library http://code.google.com/p/jjil/ image processing library

OpenCV-Android http://billmccord.github.com/OpenCV-Android/ real time computer vision library

Facebook Android SDK https://github.com/facebook/facebook-android-sdk your guess ;-)

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 16 / 30 OSMDroid http://code.google.com/p/osmdroid/ OpenStreetMap toolbox

Development Libraries Android Specific Frameworks and Libraries Libraries for Specific Use Cases

ZXing http://code.google.com/p/zxing/ barcode scanning library and application

Jon’s Java Imaging Library http://code.google.com/p/jjil/ image processing library

OpenCV-Android http://billmccord.github.com/OpenCV-Android/ real time computer vision library

Facebook Android SDK https://github.com/facebook/facebook-android-sdk your guess ;-)

MapsForge http://code.google.com/p/mapsforge/ OpenStreetMap toolbox

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 16 / 30 Development Libraries Android Specific Frameworks and Libraries Libraries for Specific Use Cases

ZXing http://code.google.com/p/zxing/ barcode scanning library and application

Jon’s Java Imaging Library http://code.google.com/p/jjil/ image processing library

OpenCV-Android http://billmccord.github.com/OpenCV-Android/ real time computer vision library

Facebook Android SDK https://github.com/facebook/facebook-android-sdk your guess ;-)

MapsForge http://code.google.com/p/mapsforge/ OpenStreetMap toolbox

OSMDroid http://code.google.com/p/osmdroid/ OpenStreetMap toolbox

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 16 / 30 Development Libraries Android Specific Frameworks and Libraries Example RoboGuice

@Inject myObj; @InjectResource(R.string.name) @InjectView(R.id.editName) @Singleton stateHolder; and so on instead of MyObject myObj = new MyObject(); getResources().getString(R.string.name) findViewById(R.id.editName) and lots more

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 17 / 30 svg-android http://code.google.com/p/svg-android/ SVG rendering library

View Flow for Android https://github.com/pakerfeldt/android-viewflow horizontally scrolling views

Android Wheel http://code.google.com/p/android-wheel/ wheel input control widget

ActionBarSherlock http://actionbarsherlock.com/ ActionBar support for tablets and phones

Android Actionbar https://github.com/johannilsson/android-actionbar ActionBar support for tablets and phones

Development Libraries Android Specific Frameworks and Libraries UI Libraries and Widgets

GreenDroid https://github.com/cyrilmottier/GreenDroid application framework and UI widget collection

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 18 / 30 View Flow for Android https://github.com/pakerfeldt/android-viewflow horizontally scrolling views

Android Wheel http://code.google.com/p/android-wheel/ wheel input control widget

ActionBarSherlock http://actionbarsherlock.com/ ActionBar support for tablets and phones

Android Actionbar https://github.com/johannilsson/android-actionbar ActionBar support for tablets and phones

Development Libraries Android Specific Frameworks and Libraries UI Libraries and Widgets

GreenDroid https://github.com/cyrilmottier/GreenDroid application framework and UI widget collection

svg-android http://code.google.com/p/svg-android/ SVG rendering library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 18 / 30 Android Wheel http://code.google.com/p/android-wheel/ wheel input control widget

ActionBarSherlock http://actionbarsherlock.com/ ActionBar support for tablets and phones

Android Actionbar https://github.com/johannilsson/android-actionbar ActionBar support for tablets and phones

Development Libraries Android Specific Frameworks and Libraries UI Libraries and Widgets

GreenDroid https://github.com/cyrilmottier/GreenDroid application framework and UI widget collection

svg-android http://code.google.com/p/svg-android/ SVG rendering library

View Flow for Android https://github.com/pakerfeldt/android-viewflow horizontally scrolling views

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 18 / 30 ActionBarSherlock http://actionbarsherlock.com/ ActionBar support for tablets and phones

Android Actionbar https://github.com/johannilsson/android-actionbar ActionBar support for tablets and phones

Development Libraries Android Specific Frameworks and Libraries UI Libraries and Widgets

GreenDroid https://github.com/cyrilmottier/GreenDroid application framework and UI widget collection

svg-android http://code.google.com/p/svg-android/ SVG rendering library

View Flow for Android https://github.com/pakerfeldt/android-viewflow horizontally scrolling views

Android Wheel http://code.google.com/p/android-wheel/ wheel input control widget

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 18 / 30 Android Actionbar https://github.com/johannilsson/android-actionbar ActionBar support for tablets and phones

Development Libraries Android Specific Frameworks and Libraries UI Libraries and Widgets

GreenDroid https://github.com/cyrilmottier/GreenDroid application framework and UI widget collection

svg-android http://code.google.com/p/svg-android/ SVG rendering library

View Flow for Android https://github.com/pakerfeldt/android-viewflow horizontally scrolling views

Android Wheel http://code.google.com/p/android-wheel/ wheel input control widget

ActionBarSherlock http://actionbarsherlock.com/ ActionBar support for tablets and phones

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 18 / 30 Development Libraries Android Specific Frameworks and Libraries UI Libraries and Widgets

GreenDroid https://github.com/cyrilmottier/GreenDroid application framework and UI widget collection

svg-android http://code.google.com/p/svg-android/ SVG rendering library

View Flow for Android https://github.com/pakerfeldt/android-viewflow horizontally scrolling views

Android Wheel http://code.google.com/p/android-wheel/ wheel input control widget

ActionBarSherlock http://actionbarsherlock.com/ ActionBar support for tablets and phones

Android Actionbar https://github.com/johannilsson/android-actionbar ActionBar support for tablets and phones

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 18 / 30 Android ColorPickerPreference https://github.com/attenzione/android-ColorPickerPreference color picker

Android AutoFitTextView https://github.com/grantland/android-autofittextview dynamic font resizing in text view

Android TextView Multiline Ellipse http://code.google.com/p/android-textview-multiline-ellipse/ ellipse for multiline text view

Android MapViewBalloons https://github.com/jgilfelt/android-mapviewballoons UI widget for maps

Development Libraries Android Specific Frameworks and Libraries More UI Libraries and Widgets

Pull to Refresh for Android https://github.com/johannilsson/android-pulltorefresh list refresh widget

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 19 / 30 Android AutoFitTextView https://github.com/grantland/android-autofittextview dynamic font resizing in text view

Android TextView Multiline Ellipse http://code.google.com/p/android-textview-multiline-ellipse/ ellipse for multiline text view

Android MapViewBalloons https://github.com/jgilfelt/android-mapviewballoons UI widget for maps

Development Libraries Android Specific Frameworks and Libraries More UI Libraries and Widgets

Pull to Refresh for Android https://github.com/johannilsson/android-pulltorefresh list refresh widget

Android ColorPickerPreference https://github.com/attenzione/android-ColorPickerPreference color picker

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 19 / 30 Android TextView Multiline Ellipse http://code.google.com/p/android-textview-multiline-ellipse/ ellipse for multiline text view

Android MapViewBalloons https://github.com/jgilfelt/android-mapviewballoons UI widget for maps

Development Libraries Android Specific Frameworks and Libraries More UI Libraries and Widgets

Pull to Refresh for Android https://github.com/johannilsson/android-pulltorefresh list refresh widget

Android ColorPickerPreference https://github.com/attenzione/android-ColorPickerPreference color picker

Android AutoFitTextView https://github.com/grantland/android-autofittextview dynamic font resizing in text view

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 19 / 30 Android MapViewBalloons https://github.com/jgilfelt/android-mapviewballoons UI widget for maps

Development Libraries Android Specific Frameworks and Libraries More UI Libraries and Widgets

Pull to Refresh for Android https://github.com/johannilsson/android-pulltorefresh list refresh widget

Android ColorPickerPreference https://github.com/attenzione/android-ColorPickerPreference color picker

Android AutoFitTextView https://github.com/grantland/android-autofittextview dynamic font resizing in text view

Android TextView Multiline Ellipse http://code.google.com/p/android-textview-multiline-ellipse/ ellipse for multiline text view

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 19 / 30 Development Libraries Android Specific Frameworks and Libraries More UI Libraries and Widgets

Pull to Refresh for Android https://github.com/johannilsson/android-pulltorefresh list refresh widget

Android ColorPickerPreference https://github.com/attenzione/android-ColorPickerPreference color picker

Android AutoFitTextView https://github.com/grantland/android-autofittextview dynamic font resizing in text view

Android TextView Multiline Ellipse http://code.google.com/p/android-textview-multiline-ellipse/ ellipse for multiline text view

Android MapViewBalloons https://github.com/jgilfelt/android-mapviewballoons UI widget for maps

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 19 / 30 AndEngine http://www.andengine.org/ Java based 2D OpenGL Game Engine for Android

forget3D http://code.google.com/p/forget3d/ OpenGL ES framework for Android, Win32, WinCE

min3d http://code.google.com/p/min3d/ lightweight 3d library/framework for Android using Java with OpenGL ES

Angle http://code.google.com/p/angle/ game library for 2D games using OpenGL ES

Development Libraries Game Development Libraries Game Development Libraries

libgdx http://libgdx.badlogicgames.com/ cross-platform 2D and 3D game development framework for Java/C/C++.

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 20 / 30 forget3D http://code.google.com/p/forget3d/ OpenGL ES framework for Android, Win32, WinCE

min3d http://code.google.com/p/min3d/ lightweight 3d library/framework for Android using Java with OpenGL ES

Angle http://code.google.com/p/angle/ game library for 2D games using OpenGL ES

Development Libraries Game Development Libraries Game Development Libraries

libgdx http://libgdx.badlogicgames.com/ cross-platform 2D and 3D game development framework for Java/C/C++.

AndEngine http://www.andengine.org/ Java based 2D OpenGL Game Engine for Android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 20 / 30 min3d http://code.google.com/p/min3d/ lightweight 3d library/framework for Android using Java with OpenGL ES

Angle http://code.google.com/p/angle/ game library for 2D games using OpenGL ES

Development Libraries Game Development Libraries Game Development Libraries

libgdx http://libgdx.badlogicgames.com/ cross-platform 2D and 3D game development framework for Java/C/C++.

AndEngine http://www.andengine.org/ Java based 2D OpenGL Game Engine for Android

forget3D http://code.google.com/p/forget3d/ OpenGL ES framework for Android, Win32, WinCE

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 20 / 30 Angle http://code.google.com/p/angle/ game library for 2D games using OpenGL ES

Development Libraries Game Development Libraries Game Development Libraries

libgdx http://libgdx.badlogicgames.com/ cross-platform 2D and 3D game development framework for Java/C/C++.

AndEngine http://www.andengine.org/ Java based 2D OpenGL Game Engine for Android

forget3D http://code.google.com/p/forget3d/ OpenGL ES framework for Android, Win32, WinCE

min3d http://code.google.com/p/min3d/ lightweight 3d library/framework for Android using Java with OpenGL ES

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 20 / 30 Development Libraries Game Development Libraries Game Development Libraries

libgdx http://libgdx.badlogicgames.com/ cross-platform 2D and 3D game development framework for Java/C/C++.

AndEngine http://www.andengine.org/ Java based 2D OpenGL Game Engine for Android

forget3D http://code.google.com/p/forget3d/ OpenGL ES framework for Android, Win32, WinCE

min3d http://code.google.com/p/min3d/ lightweight 3d library/framework for Android using Java with OpenGL ES

Angle http://code.google.com/p/angle/ game library for 2D games using OpenGL ES

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 20 / 30 Robolectric http://robolectric.org Android tests run on JVM

Calculon https://github.com/kaeppler/calculon Android testing DSL

Android JUnit Report https://github.com/jsankey/android-junit-report tool to load test report from device/emulator

Memory Sucker https://github.com/nollbit/memory-sucker test tool to simulate low memory scenarios

Android Mock http://code.google.com/p/android-mock/ object mocking library

Development Libraries Android Testing Tools Android Testing Tools

Robotium http://robotium.org Selenium for Android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 21 / 30 Calculon https://github.com/kaeppler/calculon Android testing DSL

Android JUnit Report https://github.com/jsankey/android-junit-report tool to load test report from device/emulator

Memory Sucker https://github.com/nollbit/memory-sucker test tool to simulate low memory scenarios

Android Mock http://code.google.com/p/android-mock/ object mocking library

Development Libraries Android Testing Tools Android Testing Tools

Robotium http://robotium.org Selenium for Android

Robolectric http://robolectric.org Android tests run on JVM

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 21 / 30 Android JUnit Report https://github.com/jsankey/android-junit-report tool to load test report from device/emulator

Memory Sucker https://github.com/nollbit/memory-sucker test tool to simulate low memory scenarios

Android Mock http://code.google.com/p/android-mock/ object mocking library

Development Libraries Android Testing Tools Android Testing Tools

Robotium http://robotium.org Selenium for Android

Robolectric http://robolectric.org Android tests run on JVM

Calculon https://github.com/kaeppler/calculon Android testing DSL

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 21 / 30 Memory Sucker https://github.com/nollbit/memory-sucker test tool to simulate low memory scenarios

Android Mock http://code.google.com/p/android-mock/ object mocking library

Development Libraries Android Testing Tools Android Testing Tools

Robotium http://robotium.org Selenium for Android

Robolectric http://robolectric.org Android tests run on JVM

Calculon https://github.com/kaeppler/calculon Android testing DSL

Android JUnit Report https://github.com/jsankey/android-junit-report tool to load test report from device/emulator

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 21 / 30 Android Mock http://code.google.com/p/android-mock/ object mocking library

Development Libraries Android Testing Tools Android Testing Tools

Robotium http://robotium.org Selenium for Android

Robolectric http://robolectric.org Android tests run on JVM

Calculon https://github.com/kaeppler/calculon Android testing DSL

Android JUnit Report https://github.com/jsankey/android-junit-report tool to load test report from device/emulator

Memory Sucker https://github.com/nollbit/memory-sucker test tool to simulate low memory scenarios

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 21 / 30 Development Libraries Android Testing Tools Android Testing Tools

Robotium http://robotium.org Selenium for Android

Robolectric http://robolectric.org Android tests run on JVM

Calculon https://github.com/kaeppler/calculon Android testing DSL

Android JUnit Report https://github.com/jsankey/android-junit-report tool to load test report from device/emulator

Memory Sucker https://github.com/nollbit/memory-sucker test tool to simulate low memory scenarios

Android Mock http://code.google.com/p/android-mock/ object mocking library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 21 / 30 i-jetty http://code.google.com/p/i-jetty/ servlet container running on the device

Android Screenshot library http://code.google.com/p/android-screenshot-library/ programmatically take screenshots, n no root required

Android Alarm Database http://code.google.com/p/android-alarm-database/ alarm application and toolkit

Application Crash Report for Android ACRA http://code.google.com/p/acra/ crash report library

Android Error Reporter https://github.com/tomquist/Android-Error-Reporter error report library

Development Libraries Others of interest Others of interest

OpenIntents http://code.google.com/p/openintents/ collection of reusable components and applications

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 22 / 30 Android Screenshot library http://code.google.com/p/android-screenshot-library/ programmatically take screenshots, n no root required

Android Alarm Database http://code.google.com/p/android-alarm-database/ alarm application and toolkit

Application Crash Report for Android ACRA http://code.google.com/p/acra/ crash report library

Android Error Reporter https://github.com/tomquist/Android-Error-Reporter error report library

Development Libraries Others of interest Others of interest

OpenIntents http://code.google.com/p/openintents/ collection of reusable components and applications

i-jetty http://code.google.com/p/i-jetty/ servlet container running on the device

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 22 / 30 Android Alarm Database http://code.google.com/p/android-alarm-database/ alarm application and toolkit

Application Crash Report for Android ACRA http://code.google.com/p/acra/ crash report library

Android Error Reporter https://github.com/tomquist/Android-Error-Reporter error report library

Development Libraries Others of interest Others of interest

OpenIntents http://code.google.com/p/openintents/ collection of reusable components and applications

i-jetty http://code.google.com/p/i-jetty/ servlet container running on the device

Android Screenshot library http://code.google.com/p/android-screenshot-library/ programmatically take screenshots, n no root required

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 22 / 30 Application Crash Report for Android ACRA http://code.google.com/p/acra/ crash report library

Android Error Reporter https://github.com/tomquist/Android-Error-Reporter error report library

Development Libraries Others of interest Others of interest

OpenIntents http://code.google.com/p/openintents/ collection of reusable components and applications

i-jetty http://code.google.com/p/i-jetty/ servlet container running on the device

Android Screenshot library http://code.google.com/p/android-screenshot-library/ programmatically take screenshots, n no root required

Android Alarm Database http://code.google.com/p/android-alarm-database/ alarm application and toolkit

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 22 / 30 Android Error Reporter https://github.com/tomquist/Android-Error-Reporter error report library

Development Libraries Others of interest Others of interest

OpenIntents http://code.google.com/p/openintents/ collection of reusable components and applications

i-jetty http://code.google.com/p/i-jetty/ servlet container running on the device

Android Screenshot library http://code.google.com/p/android-screenshot-library/ programmatically take screenshots, n no root required

Android Alarm Database http://code.google.com/p/android-alarm-database/ alarm application and toolkit

Application Crash Report for Android ACRA http://code.google.com/p/acra/ crash report library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 22 / 30 Development Libraries Others of interest Others of interest

OpenIntents http://code.google.com/p/openintents/ collection of reusable components and applications

i-jetty http://code.google.com/p/i-jetty/ servlet container running on the device

Android Screenshot library http://code.google.com/p/android-screenshot-library/ programmatically take screenshots, n no root required

Android Alarm Database http://code.google.com/p/android-alarm-database/ alarm application and toolkit

Application Crash Report for Android ACRA http://code.google.com/p/acra/ crash report library

Android Error Reporter https://github.com/tomquist/Android-Error-Reporter error report library

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 22 / 30 Development Libraries Other Languages Other Languages

Java is the main language for development and API but also possible are C/C++ (via NDK first class) JRuby Scala Coljure JavaScript (e.g. via PhoneGap)

Processing http://wiki.processing.org/w/Android C#

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 23 / 30 Development Libraries Other Languages Example - Scala libraries

Baitha https://github.com/sattvik/baitha

Positronic Net https://github.com/rst/positronic_net

Borachio mocking library http://borachio.com/

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 24 / 30 Yes - API is Java based No - not using a standard compliant Runtime No - only using parts of the standard class libraries and

Conclusions Android = Java? Is Android Java?

Yes - default application programming language

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 25 / 30 No - not using a standard compliant Java Virtual Machine Runtime No - only using parts of the standard class libraries and

Conclusions Android = Java? Is Android Java?

Yes - default application programming language Yes - API is Java based

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 25 / 30 No - only using parts of the standard class libraries and

Conclusions Android = Java? Is Android Java?

Yes - default application programming language Yes - API is Java based No - not using a standard compliant Java Virtual Machine Runtime

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 25 / 30 Conclusions Android = Java? Is Android Java?

Yes - default application programming language Yes - API is Java based No - not using a standard compliant Java Virtual Machine Runtime No - only using parts of the standard class libraries and

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 25 / 30 Yes -ADT fully open source Yes and no - cooperation with upstream projects patchy but exists No - binary blobs for drivers and other parts

Conclusions Android = Open Source? Is Android Open Source?

Yes, in time - AOSP open sourced in drops

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 26 / 30 Yes and no - cooperation with upstream projects patchy but exists No - binary blobs for drivers and other parts

Conclusions Android = Open Source? Is Android Open Source?

Yes, in time - AOSP open sourced in drops Yes -ADT fully open source

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 26 / 30 No - binary blobs for drivers and other parts

Conclusions Android = Open Source? Is Android Open Source?

Yes, in time - AOSP open sourced in drops Yes -ADT fully open source Yes and no - cooperation with upstream projects patchy but exists

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 26 / 30 Conclusions Android = Open Source? Is Android Open Source?

Yes, in time - AOSP open sourced in drops Yes -ADT fully open source Yes and no - cooperation with upstream projects patchy but exists No - binary blobs for drivers and other parts

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 26 / 30 Yes - tooling around Android Yes - lots of libraries and tooling from rest of Java universe Yes - lots of people from Java community, also part of Android community Yes - lots of JVM related aspects as well e.g. Scala, JRuby, Processing, Groovy...

Conclusions Android part of Java Community? Android part of the Java Community?

Yes - parts of Android itself

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 27 / 30 Yes - lots of libraries and tooling from rest of Java universe Yes - lots of people from Java community, also part of Android community Yes - lots of JVM related aspects as well e.g. Scala, JRuby, Processing, Groovy...

Conclusions Android part of Java Community? Android part of the Java Community?

Yes - parts of Android itself Yes - tooling around Android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 27 / 30 Yes - lots of people from Java community, also part of Android community Yes - lots of JVM related aspects as well e.g. Scala, JRuby, Processing, Groovy...

Conclusions Android part of Java Community? Android part of the Java Community?

Yes - parts of Android itself Yes - tooling around Android Yes - lots of libraries and tooling from rest of Java universe

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 27 / 30 Yes - lots of JVM related aspects as well e.g. Scala, JRuby, Processing, Groovy...

Conclusions Android part of Java Community? Android part of the Java Community?

Yes - parts of Android itself Yes - tooling around Android Yes - lots of libraries and tooling from rest of Java universe Yes - lots of people from Java community, also part of Android community

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 27 / 30 Conclusions Android part of Java Community? Android part of the Java Community?

Yes - parts of Android itself Yes - tooling around Android Yes - lots of libraries and tooling from rest of Java universe Yes - lots of people from Java community, also part of Android community Yes - lots of JVM related aspects as well e.g. Scala, JRuby, Processing, Groovy...

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 27 / 30 Yes - part of Eclipse Community Yes - part of Ruby, Scala, Groovy/Gradle... Yes - lots of open source libraries specifically to Android Yes - lots of projects on Github, Google Code, ... Yes - move towards Maker community with ADK

Conclusions Android part of Open Source Community? Android part of Open Source Community?

Yes - part of Apache Community

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 28 / 30 Yes - part of Ruby, Scala, Groovy/Gradle... Yes - lots of open source libraries specifically to Android Yes - lots of projects on Github, Google Code, ... Yes - move towards Maker community with ADK

Conclusions Android part of Open Source Community? Android part of Open Source Community?

Yes - part of Apache Community Yes - part of Eclipse Community

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 28 / 30 Yes - lots of open source libraries specifically to Android Yes - lots of projects on Github, Google Code, ... Yes - move towards Maker community with ADK

Conclusions Android part of Open Source Community? Android part of Open Source Community?

Yes - part of Apache Community Yes - part of Eclipse Community Yes - part of Ruby, Scala, Groovy/Gradle...

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 28 / 30 Yes - lots of projects on Github, Google Code, ... Yes - move towards Maker community with ADK

Conclusions Android part of Open Source Community? Android part of Open Source Community?

Yes - part of Apache Community Yes - part of Eclipse Community Yes - part of Ruby, Scala, Groovy/Gradle... Yes - lots of open source libraries specifically to Android

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 28 / 30 Yes - move towards Maker community with ADK

Conclusions Android part of Open Source Community? Android part of Open Source Community?

Yes - part of Apache Community Yes - part of Eclipse Community Yes - part of Ruby, Scala, Groovy/Gradle... Yes - lots of open source libraries specifically to Android Yes - lots of projects on Github, Google Code, ...

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 28 / 30 Conclusions Android part of Open Source Community? Android part of Open Source Community?

Yes - part of Apache Community Yes - part of Eclipse Community Yes - part of Ruby, Scala, Groovy/Gradle... Yes - lots of open source libraries specifically to Android Yes - lots of projects on Github, Google Code, ... Yes - move towards Maker community with ADK

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 28 / 30 Android is part of the Java and Open Source communities Android touches a lot of other communities and brings them together Android is a great chance to collaborate and learn

Conclusions Overall Conclusions Overall conclusion

Despite lots of flaws and kinks that make things interesting

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 29 / 30 Android touches a lot of other communities and brings them together Android is a great chance to collaborate and learn

Conclusions Overall Conclusions Overall conclusion

Despite lots of flaws and kinks that make things interesting Android is part of the Java and Open Source communities

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 29 / 30 Android is a great chance to collaborate and learn

Conclusions Overall Conclusions Overall conclusion

Despite lots of flaws and kinks that make things interesting Android is part of the Java and Open Source communities Android touches a lot of other communities and brings them together

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 29 / 30 Conclusions Overall Conclusions Overall conclusion

Despite lots of flaws and kinks that make things interesting Android is part of the Java and Open Source communities Android touches a lot of other communities and brings them together Android is a great chance to collaborate and learn

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 29 / 30 Use a custom ROM Ask for open source drops of AOSP Encourage patches to upstream projects and Ask for open sourcing of any closed parts, tools... Contribute and cooperate yourself!

Conclusions What can you do? What can you do?

Buy an unlocked/unlockable device

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 30 / 30 Ask for open source drops of AOSP Encourage patches to upstream projects and Ask for open sourcing of any closed parts, tools... Contribute and cooperate yourself!

Conclusions What can you do? What can you do?

Buy an unlocked/unlockable device Use a custom ROM

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 30 / 30 Encourage patches to upstream projects and Ask for open sourcing of any closed parts, tools... Contribute and cooperate yourself!

Conclusions What can you do? What can you do?

Buy an unlocked/unlockable device Use a custom ROM Ask for open source drops of AOSP

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 30 / 30 Ask for open sourcing of any closed parts, tools... Contribute and cooperate yourself!

Conclusions What can you do? What can you do?

Buy an unlocked/unlockable device Use a custom ROM Ask for open source drops of AOSP Encourage patches to upstream projects and

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 30 / 30 Contribute and cooperate yourself!

Conclusions What can you do? What can you do?

Buy an unlocked/unlockable device Use a custom ROM Ask for open source drops of AOSP Encourage patches to upstream projects and Ask for open sourcing of any closed parts, tools...

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 30 / 30 Conclusions What can you do? What can you do?

Buy an unlocked/unlockable device Use a custom ROM Ask for open source drops of AOSP Encourage patches to upstream projects and Ask for open sourcing of any closed parts, tools... Contribute and cooperate yourself!

Manfred Moser (simpligility.com) Open Source Android Development Tools July, 2011 30 / 30