Android development the right way

4 replies [Last post]
Jayn
Offline
Joined: 08/27/2010

Hello everyone,
I have recently come across a 50$ e-reader that I have flashed to CyanogenMod 6.x and have been using for about a day now. I am happy that there is hope for the future of Android, as long as one uses either CyanogenMod or Replicant where possible and only uses the F-droid repository or Free .apk's from elsewhere.

F-droid has gotten so much better than when I had a brief affair with a department store 99$ tablet about 2 years ago. Being inspired and grateful, I want to give back and start building programs for F-droid. Seeing Wesnoth in the Google Play store on my dad's non-Free tablet for 3.99$ (The "free" version being only the tutorial) really got to me and I thought "this has got to change!"

I have read the F-droid manual and see that they have a list of ingredients you need to start cooking:

" GNU/Linux
Python 2.x
The Android SDK

If you intend to build applications from source you'll also need most, if not all, of the following:

All available SDK platforms and tools installed in the Android SDK, but *not* the proprietary components.
The Android NDK
Ant
Ant Contrib Tasks (Debian package ant-contrib)
Maven (Debian package maven2)
JavaCC (Debian package javacc)
JDK (Debian package openjdk-6-jdk)
VCS clients: svn, git, git-svn, hg, bzr
A keystore for holding release keys. (Safe, secure and well backed up!)

If you intend to use the 'Build Server' system, for secure and clean builds (highly recommended), you will also need:

VirtualBox (debian package virtualbox-ose)
Ruby
Vagrant and Vagrant-snap
Paramiko (debian package python-paramiko) "

Since it mentions NOT to get the proprietary parts of the SDK, I am wondering if anyone here has experience on how to install the SDK and NDK so that only Free things are installed? I get the feeling that by default it will just install everything...

And also I am unclear on what a keystore is- is it just a folder?

I will be sure to post this in the actual f-droid forum, but I thought maybe I might find help here as well.

Thank you and I hope to build many things for f-droid like:

mtpaint
vlc
ogg-support
midori
dillo
geany
leafpad
blender

and more!

aloniv

I am a translator!

Offline
Joined: 01/11/2011

Porting GNU/Linux software to Android would probably require rewriting the code. If you want to run software such as Midori or Dillo, then get a tablet or phone that runs GNU/Linux such as the Neo Freerunner.

Michał Masłowski

I am a member!

I am a translator!

Offline
Joined: 05/15/2010

With NDK (I never used it) only Android-specific things would require rewriting (e.g. the UI). It's also possible to run chrooted GNU/Linux systems (with some funny things like Android permissions).

Michał Masłowski

I am a member!

I am a translator!

Offline
Joined: 05/15/2010

A nonfree part of the SDK that I know about are Google APIs, it's easy to not install them. Probably many emulators of devices are nonfree. Replicant builds its own SDKs from source, I don't know the difference.

Keystore is documented, I never used them without Eclipse.

Jayn
Offline
Joined: 08/27/2010

Ok, thank you. I will now head off and leave these forums alone in wait of my f-droid forum reply.