mirror of https://github.com/tLDP/LDP
Updated Linux-Android HOWTO from Guido Gonzato
Hello Martin, I've been lurking on the discuss list and have fixed the text following some suggestions I received. Please find attached the final version of my proposed Howto; I hope it's going to be accepted. All the best, Guido =8-)
This commit is contained in:
parent
c7e81953c1
commit
189cff2fe3
|
@ -55,14 +55,31 @@ OS X only, but a GNU/Linux system is perfectly capable of interacting
|
|||
with Android devices. With a bit of hacking, as usual.
|
||||
|
||||
<p>
|
||||
In the following, I will share a few tricks I have collected. I work
|
||||
on a GNU/Linux Mint box, but I'll try and be distribution-agnostic.
|
||||
I'll concentrate on Free and Open Source Software (FOSS) whenever
|
||||
possible, and I'll take standard, unrooted Android devices into
|
||||
account. By the way: ``rooting'' means tweaking your Andbox to gain
|
||||
root permissions, as you would do in Linux with <tt>sudo</tt>.
|
||||
``Unrooted'' means ``not tweaked''.
|
||||
In the following, I will share a few tricks I have collected:
|
||||
|
||||
<itemize>
|
||||
|
||||
<item> using the Android Debug Bridge;
|
||||
<item> understanding and using the Android file system;
|
||||
<item> installing programs from other markets;
|
||||
<item> copying and syncing files and directories;
|
||||
<item> backing up stuff;
|
||||
<item> using a terminal emulator;
|
||||
<item> compiling native command-line programs;
|
||||
<item> remote control to/from Android;
|
||||
<item> and more.
|
||||
|
||||
</itemize>
|
||||
|
||||
<p>
|
||||
I work on a GNU/Linux Mint box, but I'll try and be
|
||||
distribution-agnostic. I'll concentrate on Free and Open Source
|
||||
Software (FOSS) whenever possible, and I'll take standard, unrooted
|
||||
Android devices into account. By the way: ``rooting'' means tweaking
|
||||
your Andbox to gain root permissions, as you would do in Linux with
|
||||
<tt>sudo</tt>. ``Unrooted'' means ``not tweaked''.
|
||||
|
||||
<p>
|
||||
Since Android is very fragmented (hey, it's Linux after all!) and
|
||||
several versions are available, I'll just provide information that is
|
||||
applicable to what I own: Android 4.0.4, 4.1.1, and 5.0.1 on ARM
|
||||
|
@ -207,6 +224,7 @@ edit the file:
|
|||
/etc/udev/rules.d/50-android.rules
|
||||
</verb></tscreen>
|
||||
|
||||
<p>
|
||||
(create a new file if it's missing) and add this line:
|
||||
|
||||
<tscreen><verb>
|
||||
|
@ -525,7 +543,8 @@ suggestions are:
|
|||
|
||||
<p>
|
||||
is a ``real'' keyboard that provides arrow keys, Esc, Alt, Ctrl, and
|
||||
so on. Released under the Apache License 2.0.
|
||||
so on; you really can't do without it if you plan to use a terminal
|
||||
emulator. Released under the Apache License 2.0.
|
||||
|
||||
<item>Ghost Commander:
|
||||
|
||||
|
@ -553,7 +572,8 @@ emulator and BusyBox, <htmlurl url="http://www.busybox.net/"
|
|||
name="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.
|
||||
in Android. <tt>cp</tt> and <tt>tar</tt> are the first that spring to
|
||||
mind.
|
||||
|
||||
<p>
|
||||
In Section <ref id="terminals" name="Terminal Emulators and Shells">
|
||||
|
@ -628,18 +648,20 @@ An Andbox can easily share its installed programs with another
|
|||
device, provided that the Android versions are compatible. All you
|
||||
need is Ghost Commander.
|
||||
|
||||
<p>
|
||||
From the ``Home'' position, select ``Applications'' to get a list of
|
||||
installed <tt>.apk</tt>s ; click on the one you want and copy it to a
|
||||
standard folder (say, <tt>/mnt/sdcard</tt>.) From this location, long
|
||||
press on the program <tt>.apk</tt> 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 <ref id="copying"
|
||||
name="Copying Files"> below.
|
||||
name="Copying Files"> below. If your device refuses to send a
|
||||
<tt>.apk</tt> file via Bluetooth, just rename or zip it before sending
|
||||
it, then unpack it or rename it back on the new device.
|
||||
|
||||
<p>
|
||||
If your device refuses to send a <tt>.apk</tt> 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 <tt>.apk</tt> file to
|
||||
install the program. When done, you can delete the <tt>.apk</tt>.
|
||||
|
||||
<!-- - - - -->
|
||||
|
||||
|
@ -1057,8 +1079,8 @@ the same.
|
|||
|
||||
<p>
|
||||
If you need a more complete command-line experience, you will also
|
||||
want to install a command-line environment like KBOX, ZShaolin or
|
||||
Terminal IDE:
|
||||
want to install a command-line environment like KBOX, ZShaolin,
|
||||
Terminal IDE, or Termux:
|
||||
|
||||
<itemize>
|
||||
|
||||
|
@ -1091,12 +1113,13 @@ Terminal IDE:
|
|||
<htmlurl url="http://www.spartacusrex.com/terminalide.htm"
|
||||
name="http://www.spartacusrex.com/terminalide.htm">
|
||||
|
||||
<p>
|
||||
It's a very complete Linux-like command-line environment. It's
|
||||
focused on development, providing Vim, <tt>gcc</tt>, <tt>mc</tt>,
|
||||
<tt>ssh</tt>, and loads of software. Once installed, it gives you
|
||||
the option ``Install System'' to install additional components,
|
||||
including the <tt>bash</tt> shell.
|
||||
|
||||
|
||||
</itemize>
|
||||
|
||||
<p>
|
||||
|
@ -1110,6 +1133,31 @@ that you install Terminal IDE: it provides a very Linux-like
|
|||
experience. If you're short on storage, I suggest that you install
|
||||
KBOX: it's a very good compromise.
|
||||
|
||||
Users of Android 5 and later versions may want to install an
|
||||
alternative terminal emulator called Termux:
|
||||
|
||||
<p>
|
||||
<htmlurl url="https://termux.com/" name="https://termux.com/">
|
||||
|
||||
<p>
|
||||
It's very nice and self-contained, i.e. it does not need KBOX or
|
||||
another command-line environment. Additional software can be installed
|
||||
simply using apt (Debian users, does that ring a bell?):
|
||||
|
||||
<tscreen>
|
||||
<verb>
|
||||
$ gcc
|
||||
The program 'gcc' is not installed. Install it by executing:
|
||||
apt install gcc
|
||||
$ ...
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>
|
||||
Termux is released under GPLv3, but some add-ons are available for a
|
||||
small fee.
|
||||
|
||||
|
||||
<!-- - - - -->
|
||||
|
||||
<sect1>Installing KBOX
|
||||
|
@ -1316,9 +1364,9 @@ url="http://arachnoid.com/android/SSHelper/"
|
|||
name="http://arachnoid.com/android/SSHelper/">
|
||||
|
||||
<p>
|
||||
Since it runs on
|
||||
unrooted devices, it uses the port 2222 instead of the standard port
|
||||
22; i.e., to connect to it from the Linux terminal you will do:
|
||||
Since it runs on unrooted devices, it uses the port 2222 instead of
|
||||
the standard port 22; i.e., to connect to it from the Linux terminal
|
||||
you will do:
|
||||
|
||||
<tscreen>
|
||||
<verb>
|
||||
|
@ -1386,6 +1434,7 @@ toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86/bin/
|
|||
contains prebuilt binaries: include that directory in the
|
||||
<tt>$PATH</tt>.
|
||||
|
||||
<p>
|
||||
The compiler is called <tt>arm-linux-androideabi-gcc</tt>. You use it
|
||||
instead of <tt>gcc</tt> to compile Android binaries. In general, all
|
||||
binutils have a <tt>arm-linux-androideabi-</tt> prefix.
|
||||
|
@ -1441,7 +1490,12 @@ Linux:~$ _
|
|||
Beware: Android 5.* has better security policies and will not allow
|
||||
running programs from <tt>/data/local/tmp</tt>, or even accessing that
|
||||
directory. From the terminal, you'll have to copy the compiled
|
||||
programs elsewhere. For instance, using KBOX:
|
||||
programs to a directory where you have write and execute permissions.
|
||||
Beware: you will have to copy files in the blind, specifying their
|
||||
exact names, no wildcards allowed!
|
||||
|
||||
<p>
|
||||
For instance, using KBOX:
|
||||
|
||||
<tscreen>
|
||||
<verb>
|
||||
|
@ -1451,13 +1505,13 @@ kbox$ cp /android_root/data/local/tmp/hello .
|
|||
kbox$ ls
|
||||
hello
|
||||
kbox$ ./hello
|
||||
hello, workd!
|
||||
hello, world!
|
||||
kbox$ _
|
||||
</verb>
|
||||
</tscreen>
|
||||
|
||||
<p>
|
||||
A remarkable list of command-line programs can be compiled for
|
||||
A remarkable list of command-line programs can be easily compiled for
|
||||
Android. Among others, I ported the Bywater BASIC interpreter:
|
||||
|
||||
<p>
|
||||
|
@ -1465,7 +1519,13 @@ Android. Among others, I ported the Bywater BASIC interpreter:
|
|||
name="http://sourceforge.net/projects/bwbasic/">
|
||||
|
||||
<p>
|
||||
the C version of the e3 text editor:
|
||||
(minor tweaks were needed: I added <tt>-DHAVE_ISNAN=1</tt> to the DEFS
|
||||
in the <tt>Makefile</tt>, and also <tt>#define uint64_t unsigned
|
||||
long</tt> at the top of <tt>bwbasic.h</tt>)
|
||||
|
||||
<p>
|
||||
The C version of the e3 text editor (version 2.7.1) can be compiled
|
||||
with no tweaks at all:
|
||||
|
||||
<p>
|
||||
<htmlurl
|
||||
|
@ -1473,7 +1533,7 @@ url="https://sites.google.com/site/e3editor/"
|
|||
name="https://sites.google.com/site/e3editor/">
|
||||
|
||||
<p>
|
||||
and the ABC music tools:
|
||||
same for the ABC music tools:
|
||||
|
||||
<p>
|
||||
<htmlurl url="http://abcplus.sourceforge.net/"
|
||||
|
@ -1488,7 +1548,6 @@ Android are available here:
|
|||
<htmlurl url="http://kevinboone.net/android_native.html"
|
||||
name="http://kevinboone.net/android_native.html">.
|
||||
|
||||
|
||||
<p>
|
||||
Compile the programs you need, copy them to <tt>/data/local/tmp/</tt>,
|
||||
and make sure this directory is included in the <tt>$PATH</tt> of your
|
||||
|
|
Loading…
Reference in New Issue