Open main menu

CDOT Wiki β

Package the Android Extensions for Eclipse

Packaging the Android Extensions for Eclipse

Project Description

There are a group of extensions (4?) for Eclipse that enable development of Android applications. Package these extensions and make them available in (or for) Fedora.

Expected outcome: The extensions will be available as Fedora packages, or if not permitted by licensing, as packages available from an external repository.

Maximum number of students: 4 (one per extension/plugin)

Skills required: packaging, testing

Resources: Raymond Chan (rchan), John Selmys

Project Leader(s)

Alon Yufidin
Wiki Page: User: ayufidin
IRC: ayufidin

Daniel Delidjakov
Wiki Page: User: dkdelidj
IRC: dkdelidj


Project Contributor(s)

Project Details

Here are the details of the milestones so far.


0.1 Milestone


The purpose of this milestone is twofold - research and preliminary RPM package release. The research into the Eclipse extensions for Android showed that there are about 6 extensions (or plugins) for Eclipse that are related to Android:

- ADT (Android Development Tools)
- DDMS (Dalvik Debug Monitor Server)
- GLDebugger (OpenGL Debugger)
- Hierarchyviewer
- Traceview
- Base

Progress so far:

- research phase is mostly completed; we know what we need to do
- extensions are stored as JAR files; JARs contain the source Java files
- for a successful completion of this project, we need to simplify the process of installing ADT as much as possible

How ADT needs to be installed at the moment:

-> Install Eclipse, start Eclipse
-> Get the Android depository link 
-> Add New Software In Eclipse 
-> Paste link 
-> Accept a few licences 
-> Wait for download and installation 
-> Restart Eclipse

Instead, we intend to shorten it to this:

-> Install Eclipse 
-> Run "yum install eclipse-adt eclipse-ddms ..." or 
          "yum install @"Android Extensions for Eclipse
-> Start Eclipse 

Alon will be focusing on packaging the ADT plugin and Daniel will be focusing on the DDMS plugin.


ADT


In order to retrieve the files required for this release, the following steps were taken:

- Eclipse was installed on Fedora 17 using the built in yum installer.
- Plugins were installed using the built-in updater in Eclipse.
- Required files were retrieved from the plugins and features folders under the main Eclipse folder:

   eclipse/
     dropins/
       eclipse/
         features/
         plugins/

   OR

   eclipse/
     dropins/
       org.eclipse.core.tools_1.4.0.200710121455.jar
       org.eclipse.releng.tools_3.3.0.v20070412/
         plugin.xml
         tools.jar

To build the actual RPM, I downloaded a source RPM of an existing non-android Eclipse plugin and took a look at the spec file to determine the required steps needed to package and install the ADT Plugin.

The RPM that I am releasing today, places the files in the correct folders, however, the dependencies required for the ADT Plugin are not included and therefore require manual intervention at this point.

You can find the release files below:

RPM SRPM Spec file


DDMS


As stated previously, to package DDMS, the Dalvik Debug Monitor Server, first you have to have Eclipse installed (done through a simple yum install operation). After that, we would need an RPM to use to install the DDMS plugin.

My RPM package was created by using the spec file of an already existing Eclipse plugin, and modifying it to my needs. I used the source JAR files that are provided by the Android project and packaged them into an RPM file, using rpmbuild. Here’s a quick screenshot.

Now we have an RPM that is almost complete - it places the JAR files in the correct sub-folders of Eclipse, but the plugin will not work - it needs a few dependencies to be satisfied. Those dependencies will be taken care of by milestone 0.2.

Here are the RPM, SRC-RPM and spec files. RPM SRPM Spec file


0.2 Milestone


Progress so far:

- ADT/DDMS plugins are both functioning if placed in the plugins/ and features/ directories
- The RPM for ADT/DDMS works and gets installed without issues
- Hierarchy Viewer RPM is also a successful installation

Our team decided to package ADT and DDMS as one packages, and then add another RPM for another Android plugin. Daniel will package the ADT/DDMS plugins and Alon will package the Hierarchy Viewer.


ADT + DDMS


Since ADT and DDMS cannot function without each other, we've combined them into one package called "eclipse-adt_ddms-plugin". ADT and DDMS both require each other and 2 more JAR files - the overlay and the base. All of them are included in the RPM.

For a more detailed look at the preparation phase of the RPM, please visit the blog post by Daniel.


Hierarchy Viewer


Due to the small change in our project plan as described above, Hierarchy Viewer is now the plugin packaged by Alon instead of ADT. Please visit the 0.2 release post for details.


0.3 Milestone



ADT + DDMS


ADT & DDMS final release is packaged by Daniel, please visit the blog post


Hierarchy Viewer + Traceview


Hierarchy Viewer & Traceview final release is packaged by Alon, please visit the blog post

Project Plan

Key contacts:
Daniel (ADT+DDMS Plugin) and Alon (Hierarchy Viewer Plugin)

Goals for each release and plans for reaching those goals:

  • 0.1 -> Create draft RPMs that contain the .jar files relevant to each plugin, the RPM will place the files into the "dropins" folder of Eclipse.
  • 0.2 -> Include dependencies required for each plugin within the RPMs, making sure we have functional RPMs.
  • 0.3 -> Finalizing RPMs and making sure that it is in the main Fedora Repo.

Communication

Mailing Lists

Upsteam Wiki and Web

Fedora Project How to setup android SDK: How to.

Links/Bugs/Tracking

Eclipse download: Download Webpage
Eclipse Resources: Resources
Eclipse Forus: Forums
Fedora 17 32 bit download: ISO Download
Android SDK for Linux download: andoid-sdk_r20.0.3-linux.tgz
Installing thr Android SDK: Installation Guide
Android ADT plugin: Information Installing in Eclipse

Source Code Control

Blogs

Daniel's blog
Alon's blog

Seneca Particpants

Daniel

Alon

Non-Seneca Participants

Blog Post how to which may be helpful. Includes Screen shots of setup. How To

Planets

Project News