Android
Support for Android apps when possible.
Certainly not possible in all cases without Java development, a large investment of T&E ( time and energy ).
What are existing Android apps, particularly general purpose clients. See Android#ClientApps
Why not SL4A Python ? No release in two years ! See Android#PythonforAndroid
But, it's huge market so ...
https://developer.android.com/index.html
http://developer.android.com/guide/index.html
http://en.wikipedia.org/wiki/Comparison_of_Java_and_Android_API
Tightly integrated with Google Services
http://developer.android.com/google/index.html
See GoogleAppEngine
Server Apps
Wouldn't think of hand-held device as a server, but often works better as server than as client ( IMHO )
http://www.digitaltrends.com/mobile/how-to-make-an-android-server/
FTP
Have installed, use regularly, works great
https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=en
https://sites.google.com/site/andreasliebigapps/ftpserver/
Servers Ultimate Pro
Configuration an issue, but seems to work in most cases ... is $3.99 ...
Ice Cold Apps Web Site | http://www.icecoldapps.com/app/servers-ultimate-pro/ |
Google Store | https://play.google.com/store/apps/details?id=com.icecoldapps.serversultimatepro&hl=en |
Client Apps
Usable general-purpose clients ...
... Haven't seen any killers yet, except from browsers.
http://www.wikivs.com/wiki/Chrome_vs_Firefox
Chrome Browser
https://play.google.com/store/apps/details?id=com.android.chrome
FireFox
Seems to be stablizing. No plugins ...
https://play.google.com/store/apps/details?id=org.mozilla.firefox
Python for Android
Big, somewhat clunky ( no multiprocessing module ? ).
Future unknown, no release in two years.
Not true. Recent release .... still looking at it, some mention of Python3, apparently Kivy is driving the project, which may be good news ...
Hot Link: https://media.readthedocs.org/pdf/python-for-android/latest/python-for-android.pdf
Python for Android | https://python-for-android.readthedocs.org/en/latest/ |
GIT Hub | https://github.com/kivy/python-for-android |
From the GITHub site:
-
Launch "android", and download latest Android platform, here API 14, which would be Android 4.0
-
Export some environment variables:
export ANDROIDSDK="/path/to/android/android-sdk-linux_86" export ANDROIDNDK="/path/to/android/android-ndk-r8c" export ANDROIDNDKVER=r8c export ANDROIDAPI=14
(Of course correct the paths mentioned in ANDROIDSDK and ANDROIDNDK)
-
Clone python-for-android:
git clone git://github.com/kivy/python-for-android
-
Build a distribution with OpenSSL module, PIL and Kivy:
cd python-for-android ./distribute.sh -m "openssl pil kivy"
-
Go to your fresh distribution, build the APK of your application:
cd dist/default ./build.py --package org.test.touchtracer --name touchtracer \ --version 1.0 --dir ~/code/kivy/examples/demo/touchtracer debug
-
Install the debug apk to your device:
adb install bin/touchtracer-1.0-debug.apk
-
Enjoy.
QPython
Fairly small so small things may work, but does not seem to be real possibility for more than demo type applications ...
Web Site | http://qpython.com/ |
QPython | https://play.google.com/store/apps/details?id=com.hipipal.qpyplus&hl=en |
Development
Mostly Java, maybe some C. Do I have the time and energy for it ?
Will what I produce actually contribute to PyWacket suite ?
On the other hand, the Android is usually a semi-public if not a public machine, so Java may be the only option security-wise for resource sharing applications.
Android Studio
http://developer.android.com/tools/studio/index.html
Android Studio is the official IDE for Android application development, based on IntelliJ IDEA. On top of the capabilities you expect from IntelliJ, Android Studio offers:
Flexible Gradle-based build system
Build variants and multiple apk file generation
Code templates to help you build common app features
Rich layout editor with support for drag and drop theme editing
lint tools to catch performance, usability, version compatibility, and other problems
ProGuard and app-signing capabilities
Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud Messaging and App Engine
http://en.wikipedia.org/wiki/Android_Studio
Native Development Kit
http://developer.android.com/tools/sdk/ndk/index.html
In general, you should only use the NDK if it is essential to your app — never because you simply prefer to program in C/C++ ...
Sounds a bit tetchy ...
For Windows, Cygwin 1.7 or higher is required. The NDK will not work with Cygwin 1.5 installations.
Interesting
https://www3.ntu.edu.sg/home/ehchua/programming/android/Android_NDK.html
Hello World app using NDK. Android Dev may have a point, JNI is fairly nasty looking.
http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/android_dev_intro.html
SQLite
http://www.sqlite.org/android/doc/trunk/www/index.wiki
The SQLite library is a core part of the Android environment. Java applications and content providers access SQLite using the interface in the android.database.sqlite namespace.
A lot of recent articles about SQLite on Android, what's up ?
http://developer.android.com/reference/android/database/sqlite/package-summary.html
Contains the SQLite database management classes that an application would use to manage its own private database ... See the NotePadProvider? class in the NotePad? sample application in the SDK for an example of a content provider. Android ships with SQLite version 3.4.0 ...
... If you are working with data sent to you by a provider, you will not use these SQLite classes, but instead use the generic android.database classes.
http://developer.android.com/guide/topics/providers/content-provider-basics.html
Search Google for https://www.google.com/?gws_rd=ssl#q=android+sqlite
Installing Pure Linux
Install Linux under the Android OS with or without root privileges or even install a dual boot app.
Your Android phone is already powered by the goodness of Linux, but you can enhance it further and make better use of its multi-core processors and oodles of RAM by running a full-blown Linux distro alongside the existing mobile OS.
https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid&hl=en_GB
Complete Linux Installer is an all in one solution to installing Linux distros on your Android device ... Current distros include Ubuntu, Debian, Fedora, Arch Linux, Kali Linux, openSUSE ...
Apparently Complete Linux Installer and LinuxonAndroid are the same ...
https://sourceforge.net/projects/linuxonandroid/
https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy&hl=en_GB
The Linux Deploy application is open source software for quick and easy installation of the operating system (OS) GNU/Linux on your Android device.
The application creates a disk image on a flash card, mounts it and installs an OS distribution. Applications of the new system are run in a chroot environment and working together with the Android platform.
All changes made on the device are reversible, i.e. the application and components can be removed completely. Installation of a distribution is done by downloading files from official mirrors online over the internet.
The application requires superuser rights (ROOT).
https://github.com/meefik/linuxdeploy
https://www.kali.org/tutorials/kali-linux-android-linux-deploy/
Getting Kali Linux to run on ARM hardware has been a major goal for us since day one. So far, we’ve built native images for the Samsung Chromebook, Odroid U2, Raspberry Pi, RK3306, Galaxy Note 10.1, CuBox?, Efika MX, and BeagleBone? Black to name a few a few. This however does not mean you cannot install Kali Linux in a chroot on almost any modern device that runs Android.
https://play.google.com/store/apps/details?id=champion.gnuroot
GNURoot provides a method for you to install and use GNU/Linux distributions and their associated applications/packages alongside Android.
This does NOT require root.
https://wiki.ubuntu.com/Touch/DualBootInstallation
Ubuntu Dual Boot Installer is provided as a tech preview for developers who want to run Ubuntu and Android on a single device. It is not intended to be used by regular users, neither at this point nor as its ultimate goal. Those developers installing it should be familiar with the Ubuntu and Android partition layouts and should also feel at home with manually flashing partitions in case something goes wrong ...
... To install dual-boot, you'll need: A Nexus 4 device ...
???
Also See