In case you don't know: Android applications are distributed as
.apk
(Android application package) files, which are simple
zip-compressed archives. Apk is the standard Android package format,
and it serves the same purpose as .rpm
or .deb
archives in Linux distributions. As you probably know, programs are
not downloaded as .apk
s from Google Play; they're pushed to
your device.
If you don't want to use the Google Play repository, or if you can't, there are alternative markets that provide Android FOSS:
lets you download programs .apk
s directly, or via its
client called FDroid.apk
. I strongly suggest that you
install the latter, that (from the F-Droid page) ``makes it easy to
browse, install, and keep track of updates on your device.''
is another repository dedicated to FOSS. In many cases, it simply redirects to Google Play; in other cases, to the application's home page.
In fact, many Android programs have their own web page, from which you
can download the .apk
and, in some cases, the program
sources, documentation and so on.
Advanced Android users will want to install a file manager and a decent keyboard. Several FOSS programs are available, and my suggestions are:
http://code.google.com/p/hackerskeyboard/
is a ``real'' keyboard that provides arrow keys, Esc, Alt, Ctrl, and so on; you really can't do without it if you plan to use a terminal emulator. Released under the Apache License 2.0.
https://sites.google.com/site/ghostcommander1
is a very powerful, easy to use and complete dual-pane file manager, released under the GPL3. In addition to the usual features, it also provides plugins for accessing files via SMB, SFTP, GoogleDrive, DropBox, and BOX.
There are many other free file managers, but I feel that Ghost Commander is the most complete. Of course, feel free to install another if you prefer.
In addition to the tools above, you may want to turn your Andbox into
something similar to a real Linux machine. You really want a terminal
emulator and BusyBox,
http://www.busybox.net/. The latter is a single executable
that provides the functionality of several commands that you normally
expect to find in any self-respecting Unix box, but that are missing
in Android. cp
and tar
are the first that spring to
mind.
In Section Terminal Emulators and Shells some terminal emulators will be briefly described; they also include BusyBox. The terminal emulator will let you run countless command-line programs that you can port to Android yourself!
You may find it convenient to download and store .apk
s in
your Linux machine, possibly to install them on several Andboxes.
Let's suppose you downloaded an application, foo123.apk
, and
want to install it in your Andboxes. The simplest solution is to use
the adb install
command:
Linux:~$ ls *apk
884K foo123.apk
Linux:~$ adb install foo123.apk
3658 KB/s (898144 bytes in 0.239s)
pkg: /data/local/tmp/foo123.apk
Success
Linux:~$ _
You might be surprised to find out that an application's real name
does not correspond to the name of its apk
! For
example, the real name of foo123
could be something similar
to com.android.foo123
. This naming method is based on
Java package conventions, which are described at this page:
http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
You must know a program's real name if you want to uninstall it using
adb
. To find out a program's real name, you can use Ghost
Commander. Select ``Home'', ``Applications'', and carefully read the
list of installed .apk
s; under each entry, the program's real
name is printed in smaller characters.
Now you have all the necessary information to uninstall
foo123
using adb uninstall
:
Linux:~$ adb uninstall foo123
Failure
Linux:~$ adb uninstall com.android.foo123
Success
Linux:~$ _
An Andbox can easily share its installed programs with another device, provided that the Android versions are compatible. All you need is Ghost Commander. In the next paragraph, you can see how to send a file to Alice using Bob's Andbox.
From the ``Home'' position, select ``Applications'' to get a list of
installed .apk
s ; click on the one you want and copy it to a
standard folder (say, /mnt/sdcard
.) From this location, long
press on the program .apk
and select ``Send To...''. Now
select Bluetooth, which is probably the easiest way to send the APK to
Alice; or choose another method from Section
Copying Files below. If your device refuses to send a
.apk
file via Bluetooth, just rename or zip it before sending
it, then unpack it or rename it back on the new device.
From within the Ghost Commander, tap on the .apk
file to
install the program. When done, you can delete the .apk
.