wiki:Notes/Android

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:

  • Download Android NDK, SDK
    1. Launch "android", and download latest Android platform, here API 14, which would be Android 4.0

    2. 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)
    1. Clone python-for-android:

      git clone git://github.com/kivy/python-for-android
      
    2. Build a distribution with OpenSSL module, PIL and Kivy:

      cd python-for-android
      ./distribute.sh -m "openssl pil kivy"
      
    3. 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
      
    4. Install the debug apk to your device:

      adb install bin/touchtracer-1.0-debug.apk
      
    5. 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.

    http://www.techradar.com/how-to/phone-and-communications/mobile-phones/how-to-install-linux-on-an-android-phone-1322579

    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 ...

    http://linuxonandroid.com/

    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

    Search the wiki for 'android'

    Last modified 3 months ago Last modified on 01/20/2017 03:50:58 PM