Ecere IDE / Android Integration - Ideas for Google Summer of Code





Ecere IDE / Android Integration

We would like to facilitate the development of Android applications with the Ecere IDE. Building Android applications with the Ecere SDK does not require another IDE such as Eclipse, but because a lot of manual steps are involved users might find it overwhelming and opt for another IDE or toolkit altogether making their life easier.

  • Java Programming Support

    Overview: As a first step to extend support to other programming languages, we would like to facilitate Java development within the Ecere IDE. Compiling a Java file should launch the 'javac' compiler, and building a libraries should archive all compiled modules using 'jar'. The IDE should also support launching the executable. It should also be possible to build, update and use native modules written in C, eC or C++ together with the Java code (JNI libraries), although the task of generating JNI bindings for eC would be separate.

    Any further integration that could be done, such as reporting call stacks, source locations on exceptions would also be greatly valuable.

    It should also be possible to build Java Android applications with the IDE, though the Android specific portions would be covered in the next task.

    Skills Required:

    • Familiarity with basic object oriented programming concepts
    • Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
    Other relevant/useful skills:
    • Familiarity with Java
    Expected results: Being able to use the Ecere IDE as rudimentary Java development environment

    Difficulty: Easy

    Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
    Additional Mentor: Réjean Loyer <redj@ecere.com>

  • Automate creation of APK

    Overview: At the moment, a user must manually install all Android tools, build the Ecere project for the Android platform, set up a number of post-build steps to produce and APK and sign it (as explained on this page). This can be a daunting task for someone wanting to get going right away building Android applications. We would like to automate this process under an easy Android development mode.

    Android platform tools and compilers should be automatically detected from the Global Settings/Compilers options. Links to download the latest Android SDK and NDK should also be featured.

    It would be useful to automatically set up Android resources (e.g. app icons) and options for the Android Manifest from a user-friendly interface.

    On the first time building an application with for an Android target, libraries such as the Ecere library and its dependencies not already built as part of the Android NDK should automatically be built for the target. Sources should be fetched from our github repositories, with potential options as to which version to use.

    APK packages would be built automatically by including all required libraries in the packages and figuring out proper build rules to invoke 'aapt package'. Packages should be signed with an automatically generated Debug Android key in debug mode, or using their own key for release mode. A friendly user interface should should simplify generating a key, interfacing with jarsigner (also with auto-detection, and links to install the JDK including it).

    Skills Required:

    • Familiarity with basic object oriented programming concepts
    • Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
    • Familiarity with Android
    Other relevant/useful skills:
    • Familiarity with the internal details of an Android packages (APK)
    Expected results: Allowing a novice programmer who installed the Ecere IDE to get going quickly building applications for Android. The IDE would facilitate downloading the Android SDK/NDK and detecting and configuring an Android compiler with its location. With an Android target mode, it would automatically generate the Android Manifest based on configuration settings, build and include required libraries, and setup rules for packaging and signing the APK.

    Difficulty: Medium

    Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
    Additional Mentor: Réjean Loyer <redj@ecere.com>

  • Support Debugging Android application

    Overview: It is currently not possible to debug applications running on Android other than by outputting things to the LogCat and inspecting the output. This in turn makes debugging and building applications directly for Android a lot more difficult. The ability to step through debug Android applications would also be of great value, and should be possible by running gdbserver on the device. This would also require running a special version of gdb on the desktop as well. We already some remote GDB debugging support (target remote) in the IDE for Valgrind integration support.

    It would also be useful to integrate the LogCat feature in an IDE panel, with support for filters (e.g. filtering your application output, arbitrary app ID, severity levels).

    Skills Required:

    • Familiarity with basic object oriented programming concepts
    • Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
    Other relevant/useful skills:
    • Familiarity with Android development
    • Familiarity with GDB and remote debugging
    Expected results: The ability to debug native eC applications directly on an Android device.

    Difficulty: Hard

    Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
    Additional Mentor: Réjean Loyer <redj@ecere.com>



Copyright © 2017 Ecere Corporation. All rights reserved. | Design by FreeCSSTemplates.org.