Changes

Jump to: navigation, search

Package the Android Extensions for Eclipse

6,423 bytes added, 12:16, 10 December 2012
Project Details
<sub></sub>
== Project Leader(s) ==
 
'''Rudolf R Janns''' <br />
Wiki Page: [[User:Rudolf R Janns| Rudolf R Janns]]<br />
IRC: rjanns<br />
'''Alon Yufidin'''<br />
IRC: dkdelidj
'''Omarr Khattab''' <br />
Wiki Page: [[user: Omarr Khattab]]<br/>
IRC: okhattab<br />
== Project Contributor(s) ==
 
<!-- Name(s) of people casually working on the project, or who have contributed significant help. Include links to personal pages within wiki. Adding the names of your contributors here is a nice way to thank them.
 
NOTE: only Project Leader(s) should add names here. You should not add your own name to the Contributor list. -->
 
== Project Details ==
 
Here are the details of the milestones so far.
 
 
<b><font style="font-size:110%">0.1 Milestone</font></b>
----
 
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:
<pre>
- ADT (Android Development Tools)
- DDMS (Dalvik Debug Monitor Server)
- GLDebugger (OpenGL Debugger)
- Hierarchyviewer
- Traceview
- Base
</pre>
 
Progress so far:
<pre>
- 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
</pre>
 
How ADT needs to be installed at the moment:
<pre>
-> 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
</pre>
 
Instead, we intend to shorten it to this:
<pre>
-> Install Eclipse
-> Run "yum install eclipse-adt eclipse-ddms ..." or
"yum install @"Android Extensions for Eclipse
-> Start Eclipse
</pre>
 
Alon will be focusing on packaging the ADT plugin and Daniel will be focusing on the DDMS plugin.
 
 
<b><font style="font-size:100%">ADT</font></b>
----
 
In order to retrieve the files required for this release, the following steps were taken:
<pre>
- 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
</pre>
 
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:
 
[http://dl.dropbox.com/u/3209356/ADT/adtplugin-0.0.1-1.fc17.noarch.rpm RPM]
[http://dl.dropbox.com/u/3209356/ADT/adtplugin-0.0.1-1.fc17.src.rpm SRPM]
[http://dl.dropbox.com/u/3209356/ADT/adtplugin.spec Spec file]
 
 
<b><font style="font-size:100%">DDMS</font></b>
----
 
As stated previously, to package DDMS, the Dalvik Debug Monitor Server, first you have to have Eclipse installed (done through a simple <code>yum install</code> 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 [http://i.imgur.com/JJmPj.png 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 [http://i.imgur.com/onxqd.png dependencies] to be satisfied. Those dependencies will be taken care of by milestone 0.2.
 
Here are the RPM, SRC-RPM and spec files.
[https://www.dropbox.com/s/yr1wj6646wqytin/ddms-0.0.1-1.fc17.noarch.rpm RPM] [https://www.dropbox.com/s/0qt8x7qdv7be5e1/ddms-0.0.1-1.fc17.src.rpm SRPM] [https://www.dropbox.com/s/twts0w40sysboad/ddms.spec Spec file]
 
 
<b><font style="font-size:110%">0.2 Milestone</font></b>
----
'''Ruowen Tang'''Progress so far:<br pre>- 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 installationWiki Page: [[User: rtang12]]<br /pre>IRC: rtang12
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.
='''Kalpaniya Parmar'''<br />
Wiki Page: [[User: kparmar4]]<br />
IRC: kparmar4
<b><font style="font-size:100%">ADT + DDMS</font></b>
----
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.
= Project Contributor(s) ==For a more detailed look at the preparation phase of the RPM, please visit the [http://sbr600.tumblr.com/post/36367708826/0-2-android-extensions-for-eclipse blog post] by Daniel.
<!-- Name(s) of people casually working on the project, or who have contributed significant help. Include links to personal pages within wiki. Adding the names of your contributors here is a nice way to thank them.
NOTE<b><font style="font-size: only Project Leader(s) should add names here100%">Hierarchy Viewer</font></b>---- Due to the small change in our project plan as described above, Hierarchy Viewer is now the plugin packaged by Alon instead of ADT. You should not add your own name to Please visit the Contributor list0.2 release [http://ayufidin.blogspot.ca/2012/11/packaging-android-extensions-for-eclipse_23.html post] for details.  <b><font style="font-size:110%">0. 3 Milestone</font></b>----  <b><font style="font-size:100%">ADT + DDMS</font></b>---- ADT & DDMS final release is packaged by Daniel, please visit the blog [http://sbr600.tumblr.com/post/37518058012/0-3-adt-and-ddms-rpm-packages post] 
<b><font style== Project Details =="font-size:100%">Hierarchy Viewer + Traceview</font></b>----
<!-- Provides more depth than the Project Description. This Hierarchy Viewer & Traceview final release is packaged by Alon, please visit the place for technical discussions, project specs, or other detailsblog [http://ayufidin. If this gets very long, you might consider breaking this part into multiple pages and linking to themblogspot. ca/2012/12/packaging-android-extensions->for.html post]
== Project Plan ==
Tracking mechanism (bugzilla, trac, github, ...): Key contacts:<!-- Add links to any mentors or key participants in the community. --br />[[User: dkdelidj|Daniel]] (ADT+DDMS Plugin) and [[User: ayufidin|Alon]] (Hierarchy Viewer Plugin)
Goals for each release and plans for reaching those goals:
<!-- Note: each contributor is expected to have unique goals. These goals may be ''related'' to other students' work, but must be ''distinct'' and ''attainable'' regardless of the state of the other students' work. For example, under the umbrella of one project title, one student may work on packaging a piece of software and another may work on documentation, or one may work on solving one bug and another on solving another bug, but two students must not work on the same bug or depend on the other students' work in order to be able to complete their own project. -->
 * 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 ==
=== Upsteam Wiki and Web ===
<!-- Links to upstream wiki/web pages -->
Fedora Project How to setup android SDK: [http://fedoraproject.org/wiki/HOWTO_Setup_Android_Development How to.]
=== Links/Bugs/Tracking ===
Eclipse download: [http://www.eclipse.org/downloads/ Download Webpage]<BR/>Eclipse Resources: [http://www.eclipse.org/resources/ Resources]<BR/>Eclipse Forus: [http://www.eclipse.org/forums/ Forums]<BR/>Fedora 17 32 bit download: [http://download.fedoraproject.org/pub/fedora/linux/releases/17/Live/i686/Fedora-17-i686-Live-Desktop.iso ISO Download]<BR/>Android SDK for Linux download: [http://dl.google.com/android/android-sdk_r20.0.3-linux.tgz andoid-sdk_r20.0.3-linux.tgz]<br/>Installing thr Android SDK: [http://developer.android.com/sdk/installing/index.html Installation Guide]<br />Android ADT plugin: [https://developer.android.com/tools/sdk/eclipse-adt.html Information] [https://developer.android.com/sdk/installing/installing-adt.html Installing in Eclipse]
=== Source Code Control ===
=== Blogs ===
[http://sbr600.tumblr.com/ Daniel's blog]<!-- Links to the blogs of people involved, both inside and outside Seneca --br />[http://ayufidin.blogspot.ca/ Alon's blog]
==== Seneca Particpants ====
[[User: dkdelidj|Daniel]]<br />
 
[[User: ayufidin|Alon]]
==== Non-Seneca Participants ====
<!-- Links to the blogs of any non-Seneca participants in this project -->
Blog Post how to which may be helpful. Includes Screen shots of setup. [http://www.if-not-true-then-false.com/2010/android-sdk-and-eclipse-adt-on-fedora-centos-red-hat-rhel/ How To]
==== Planets ====
1
edit

Navigation menu