AIDE - Android Integrated Development Environment presentation

17
AIDE Develop apps with an app appfour GmbH Hans Kratz Dennis Strein www.android-ide.com

description

Hans Kratz and Dennis Strein presentation of the AIDE made at the Codefest Karlsruhe on February 20th

Transcript of AIDE - Android Integrated Development Environment presentation

Page 1: AIDE - Android Integrated Development Environment presentation

AIDEDevelop apps with an app

appfour GmbH

Hans KratzDennis Strein

www.android-ide.com

Page 2: AIDE - Android Integrated Development Environment presentation

Session Overview

•Introduction to AIDE

•Demonstration time

•The magic of AIDE

•Questions

Page 3: AIDE - Android Integrated Development Environment presentation

What is AIDE

•An Android app to make Android apps•Android Integrated Development Environment

•Android SDK apps with Java & XML•Android NDK apps with C/C++•Phonegap/Cordova apps with HTML5 &

JavaScript (with AIDE for PhoneGap)

Page 4: AIDE - Android Integrated Development Environment presentation

AIDE Popularity

1.000.000 downloads/year

Page 5: AIDE - Android Integrated Development Environment presentation

Install AIDE on your device (free)•In Google Play search for „AIDE“ or just „IDE“

Page 6: AIDE - Android Integrated Development Environment presentation

Demonstration time

Page 7: AIDE - Android Integrated Development Environment presentation

The magic of AIDE

•Full Android Build Process

•Java/Dalvik compilation on device

•Native build on device (x86, arm)

Page 8: AIDE - Android Integrated Development Environment presentation

Android Build Process (1)

Page 9: AIDE - Android Integrated Development Environment presentation

Android Build Process (2)

Page 10: AIDE - Android Integrated Development Environment presentation

Focus: NDK support

•Not intended to run directly on Android devices

•Officially supports only ia32/ia64 on Windows, Linux and Mac OS X

Page 11: AIDE - Android Integrated Development Environment presentation

NDK support in AIDE

•Based on NDK for Linux•Currently only the default toolchain GCC 4.6 is

supported•Planned: Support more toolchains•Planned: Support x86 target on arm devices,

arm target on x86 devices•Crazy idea: Support the Intel C/C++ compiler

Page 12: AIDE - Android Integrated Development Environment presentation

Technical challenge: GNU libc

•Problem:- GCC toolchain requires GNU libc- Android only has limited bionic C library

•Solution: Link GCC toolchain binaries statically against GNU libc

Page 13: AIDE - Android Integrated Development Environment presentation

Technical challenge: ARM architecture

•Problem: NDK not supported on ARM

•Solution: Cross-compile NDK for ARM on Linux x86

Page 14: AIDE - Android Integrated Development Environment presentation

Technical challenge: UNIX tools

•Problem: Most NDK builds require a proper shell and UNIX tools (find, sed, awk, …)

•Solution: - Bundle Busybox- Pass variables to GNU Make for a proper shell, dirname binary, …

Page 15: AIDE - Android Integrated Development Environment presentation

Giving back to the community

•NDK is part of the Android Open Source Project (AOSP) under the Apache 2.0 licence.

•Our modifications are on GitHub:https://github.com/android-ide/aide_ndk

•Cave: The build process is complex.

Page 16: AIDE - Android Integrated Development Environment presentation

Recap

•Develop Android apps with your Android device

•Work on your apps whether Java or native on-the-go

•AIDE magic makes it happen

Page 17: AIDE - Android Integrated Development Environment presentation

Thank you for your time!

Questions?

web: www.android-ide.com

email: [email protected]