Well, it's built. Real Android app for git-annex.
When installed, this will open a terminal in which you have access to git-annex and all the git commands and busybox commands as well. No webapp yet, but command line users should feel right at home.
?terminal.png
Please test it out, at least as far as installing it, opening the terminal,
and checking that you can run git annex
; I've only been able to test on
one Android device so far. I'm especially keen to know if it works with
newer versions of Android than 4.0.3. (I know it only supports arm based
Android, no x86 etc.) Please comment if you tried it.
Building this went mostly as planned, although I had about 12 builds of the app in the middle which crashed on startup with no error message ora logs. Still, it took only one day to put it all together, and I even had time to gimp up a quick icon. (Better icons welcome.)
Kevin thinks that my space-saving hack won't work on all Androiden, and he
may be right. If the lib
directory is on a different filesystem on some
devices, it will fail. But I used it for now anyhow. Thanks to the hack,
the 7.8 mb compressed .apk file installs to use around 23 mb of disk space.
Tomorrow: Why does git-annex assistant
on Android re-add all existing
files on startup?
Seems to run fine. I managed to create a repository, git-annex init it (had to set email and name per repository).
The first time I tried git-annex init it said "Detected a crippled file system." "Enabling direct mode." The final try that actually worked only mentioned the crippled filesystem and not direct mode.
No problem installing on a Galaxy Nexus with 4.2.2
Too much to hope for at this stage, I suppose
However, I get the same error even after setting
user.email
anduser.name
(which seems to work fine)@jim git http support is disabled to save space
What seems to work is: git config user.email "you@example.com"
It's probably looking in the wrong place for the global .gitconfig so --global doesn't work. The assistant also automates dealing with this problem BTW.
Hey, thanks for working on this.
I tried the Feb 21 apk on my Samsung galaxy Tab 10.1 with Android 4.0.4. It installed and launched fine, bringing up a terminal window, keyboard, etc, but only the return key works. It's not possible to type znything. The menus, new window button etc all seem to be functional.
Installs but can not detect email even when set:
failed git-annex: init: 1 failed 1|u0_a135@android:/sdcard/git-annex.home $
Sorry for bad copy paste... On tour bus in Stockholm and only have phone, no laptop...
RichiH
@rillian could you try to install KBOX http://kevinboone.net/Term-debug.apk and see if its terminal accepts input? It's the same terminal app, so will be good to know if I broke it or this is a wider problem.
Also, did you try the soft keyboard? There's a menu item to enable it.
KBOX has the same input problem so you didn't break anything with your changes.
I was testing with the soft keyboard. Turns out the spacebar and number keys on the soft keyboard work, as well as return, just not the alphabetic keys.
Trying on a hardware keyboard (Samsung docking station) is similar. Space, Enter and numbers work, but not letters. There's some additional confusion about shift state, where it gets confused and reports shifted digits from the hardware keys when the soft keyboard is in some shift states. E.g. switching the soft keyboard to numeric mode results in shift-digits (punctuation) from the hardware numeric keys.
@rillian the upstream for this terminal is https://github.com/jackpal/Android-Terminal-Emulator/ and I found a bug that looks similar. https://github.com/jackpal/Android-Terminal-Emulator/issues/129 You might add your info there, and try the workaround documented there.
@Karsten does KBOX work on this version of Android? http://kevinboone.net/Term-debug.apk
It may well be that this is just too old and incompatible for the terminal to work.
I'm seeing a pattern with Android 2.3 failing..
This failure mode suggests that the bug is in the installation script. The next build will make the terminal not exit immediately if that script fails, so you can go in to the shell and run it by hand to see what's going wrong.