Arm Ukraine, zap Putin

Stolen Votes logo logo

No Cookies

Flag UK DE





No Tracking





Android robot.svgAndroid - a BSD view BSD logo

QR code of this page = =

By Julian H. Stacey (a Unix Consultant, Unix (inc. FreeBSD & Linux etc) since 1978, Android since 2014)

Notes re. Android for BSD (and other) Unix users & programmers who heavily value free public domain source code.


Caution - Old Versions

Here's a review written for a banking app 2020-12-01:
Only available for 1 Samsung of 4 Samsung & 1 Lenovo older devices: 0 of 2 phones & 1 of 3 tablets. Manufacturers don't upgrade older devices to newer Android, to force waste of money & environment on un-necessary hardware replacement: Minimum 1 star rating.

Version Numbers

Android uses some stupid child like marketing names for version numbers, names that are opaque to outsiders, that have no longer term adhesion.
Here's an index between stupid names & sensible numbers en. wikipedia. org /wiki /Android_ ( operating_system )# Update_schedule Android's stupid marketing names:

Android robot.svg Android App Stores

Connectivity: BSD logoFreeBSD tools and Android apps. Android robot.svg

Tethering FreeBSD PC & Android Smart Phone

  • Purpose: Travelling, Android WLAN (or SIM card) to Internet, FreeBSD PC with no WLAN hardware via Android to Internet
    FreeBSD pc as client, via USB to Android as router/ server with WLAN; then via WLAN to an Internet DSL router.
    + Tethering - common elements for either direction

    • PC
      • Connecting usb creates these in /dev/ :
        • lrwxr-xr-x 1 root wheel 9 Nov 9 21:24 ./ugen1.6 -> usb/1.6.0
        • crw------- 1 root operator 0x9a Jul 26 18:03 ./usb/1.6.0
        • crw------- 1 root operator 0x9c Jul 26 18:03 ./usb/1.6.1
        • crw------- 1 root operator 0x9d Jul 26 18:03 ./usb/1.6.2
        • crw------- 1 root operator 0x9e Jul 26 18:03 ./usb/1.6.3
        • crw------- 1 root operator 0x9f Jul 26 18:03 ./usb/1.6.4
        • crw------- 1 root operator 0xa0 Jul 26 18:03 ./usb/1.6.5
      • For urndis USB Remote NDIS Ethernet device driver, Use FreeBSD-9.3-RELEASE or newer, not 9.2 & not 10.0, .
      • /boot/loader.conf Add if_urndis_load="YES" Or
        /sys/amd64/conf/Add "device urndis"
        config -x/boot/kernel/kernel | grep urndis
    • Android
      • Turn off auto update in { Google Play store, F-Droid, Navigator map app & anything else heavy, eg browser pre load & BBC etc. }
      • Touch "Settings ; Connections ; Data usage ; Mobile data"
      • Touch "Settings ; Connections ; Tethering and portable hot spot ; USB tethering";
        After a few seconds it shows "Tethered" + a green tick.
    • PC
      • /var/log/messages shows:
        <SAMSUNG SAMSUNGAndroid> at usbus1 (disconnected)
        urndis0 on uhub2
        ue0: <USB Ethernet> on urndis0
      • The tethering causes these in /dev/ :
        • Disappears: usb/1.6.3
          Or 2017-07-26 these disappear: usb/1.6.4, usb/1.6.5
        • Adds: crw------- 1 root operator 0xa1 Nov 9 21:24 ./usb/1.6.2
      • ifconfig -a # Or
        ifconfig ue0
        • I should be able to call ifconfig from attach in devd.conf, but I fail with "Executing 'logger Unknown USB device: vendor 0x04e8 product 0x6863 bus uhub4' "
        • Shows: ue0: flags=8802<BROADCAST, SIMPLEX, MULTICAST> metric 0 mtu 1500
      • cp /etc/ resolv.conf /tmp/ resolv.conf.cp
      • Caution: If PC is configured with /etc/ rc.conf ifconfig_wlan0="DHCP" enabling DHCP for WLAN, the next dhclient will overwrite /etc/ resolv.conf with
        which kills routing to other devices on PC's ethernet.
      • dhclient -d ue0 # Configures network interface using DHCP (runs in foreground).
      • cat /tmp/ resolv.conf.cp /etc/ resolv.conf | grep '^nameserver' | sort | uniq > /tmp/ resolv.conf.tmp
      • Prune back to max 3 nameservers:
        vi /tmp/ resolv.conf.tmp
      • mv /tmp/ resolv.conf.tmp /etc/ resolv.conf
      • vi /tmp/ resolv.conf.cp /etc/ resolv.conf
      • ifconfig ue0
        inet netmask 0xffffff00 broadcast OR
        inet netmask 0xffffff00 broadcast
      • Shows local address assigned by Android to PC (a class C private address).
      • # Display IP & MAC numbers of interface.
        arp -a -i ue0
        • ( at xx:xx:xx:xx:xx:xx on ue0 permanent [ethernet] OR
          ? ( at xx:xx:xx:xx:xx:xx on ue0 expires in 853 seconds [ethernet]
          ? ( at xx:xx:xx:xx:xx:xx on ue0 permanent [ethernet]
      • Android: Browser /cgi-bin/printenv shows REMOTE_ADDR=""
      • Instead of dhclient and repairing /etc/ resolv.conf, as [just my?] Android allocates the same numbers each time, one can just:
      • ifconfig ue0
    • Android: After enabling tethering on android, the android browser can see PC apache httpd (where I can stage downloaded android apps from internet).
    • FreeBSD: ping
    • Android:
      • Stops android screen becoming non responsive.
      • Touch Internet icon. A browser starts
      • Each touch on a browser link URL (even a numeric local one), Android shows:
        "No network connection. Mobile data turned off. Connected to Wi-Fi network instead or turn on mobile data and try again."
        Just click OK each time, then it shows the new page.
      • Touch URL bar at top.
      • Type in
    • Purpose: At home, debugging:
      Android as client, via USB to FreeBSD PC as router; then PC via ethernet (local class C private addresses) to a LAN proxy gateway connecting to Internet

      • (See also above for some common stuff, eg about FreeBSD urndis).
      • See Also network-usb-tethering
      • PC
        • /etc/ rc.conf: gateway_enable="YES"
        • PC sysctl net.inet.ip.forwarding=1
      • Android
      • shows:
        cat /proc/net/route
        ip route show
        So I tried:
        route add default gw dev rndis0
        Which error-ed: Operation not permitted,
        & still error-ed after
        Settings -> General -> Developer Options ->
        { USB Debugging : Allow = ON ; Allow Mock locations : ON }
        JJLATER Not sure if needed.
        So I assume syntax OK, I "just" need to root the device.
      • Meantime on PC /usr/local/etc/apache22/ httpd.conf
        <IfModule mod_proxy.c>
        ProxyRequests On
        <Directory proxy:*>
        Order deny,allow
        Deny from all
        Allow from
        ProxyVia On
        NoCache *
        This works, allow android to access other internal servers
        but not sure how to get cascade of apaches, so the apache on PC of the smart phones should use the LAN gate apache as a proxy.
      • To try: ipfw packet diversion direct from phone USB to LAN host=gate proxy.
      • I gave up on above, & now use WLAN for Android, which is safer, as now the Android is on my WLAN sub net, which my firewall does not allow to communicate to internal trusted BSD net.
    • Top Of Page

BSD logo   FreeBSD Ports

  • ADB:
    • ADB: "Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device."
    • adb
    • ports/ head/ devel/ android-tools-adb/ pkg-descr & devel/android-tools-adb
    •" Tools Help" (rec. from pkg-descr)
    • adb.html"Android Debug Bridge"
    • /usb/index.html USB Host and Accessory
    • Samsung Galaxy Note 3 + Android 4.4.2 - Working syntax:
      • Optional: Settings > Connections > Wi-Fi = OFF
        (Block USB PC against possible infiltration from own insecure Androids on WLAN or from others unknown who might crack WLAN & then try to progress to internal network - but maybe thats more of a risk with an IP connection than just an adb connection?).
      • Settings > General > Developer options
        If There is no Developer options, enable it by going to
        Settings > General > About device , then tap Build Number 7 times.
      • Optional: Close all processes not needed on android (on Samsung Galaxy Note 3 running Android 4.4.2, processes can be listed by holding down the middle Home key, but its done other ways on other Androids.
      • Settings > General > Developer options > USB debugging = ON
      • Connect USB cable.
        devd reports: Unknown USB device: vendor 0x04e8, product 0x6860
      • Settings > Connections > Tethering and Mobile hot spot > USB tethering :
        Avoid Tethering: Tick to UN-tether, turn it OFF, toggle it to see:
      • Avoid Tethering: On adds an interface shown by PC ifconfig -a
        ue0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
         ether xx:xx:xx:xx:xx:xx
      • Avoid Tethering: Notifications:
        If you see (on Android setting "USB tethering") "tethered", thats good, needed for ifconfig -a to add ue0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
      • If under "USB PC connection" you see "Connect as a media device (MTP) ticked, that Works OK.
      • You could also Touch "Camera (PTP)" that works too.
      • devd now shows:
        " vendor 0x04e8 product 0x6866",
        but "adb shell" still fails
      • If this fails: "adb shell" do it again, sometimes it needs first one to start the server.
      • If this still fails: "adb Remove any intermediate hub (Helped 2018-10-09).
      • Other stuff maybe to check:
        See Also: Tree
        mkdir `date +%Y_%m_%d_%H_%M` ; cd `date +%Y_%m_%d_%H_%M`
        adb shell
        ls /mnt/shell/emulated/0/tmp
        mkdir /mnt/shell/emulated/jhs
        mkdir /storage/extSdCard/jhs
        echo "INTERNAL >> /mnt/shell/emulated/jhs/README
        echo "CARD" >> /storage/extSdCard/jhs/README
        cd /mnt/shell/emulated/jhs
        df -m > df-m
        du -k / > du-k
        ls -R / > ls-R
        ls -alR / > ls-alR
        ls -alR / 2>&1 > ls-alR+errs
        ls -lR / > ls-lR
        mount > mount
        printenv > printenv
        ps > ps
        set > set
        df /mnt/shell/emulated /storage/extSdCard
        ls /mnt/shell/emulated ; echo "Expect: 0 1 jhs legacy obb"
        ls /storage/extSdCard ; echo "Expect: Android DCIM LOST.DIR Nearby jhs"

        • adb pull -a / . # hangs on proc/
        • adb pull -a storage . # adb: error: failed to copy 'storage/knox-emulated' to './storage/knox-emulated': remote Permission denied
        • adb pull -a '/[a-m]* /pe* /preload /property_contexts /publiccert.pem /[r-z]' . # evaluation fails
        • mkdir `date +%Y_%m_%d_%H_%M` ; cd `date +%Y_%m_%d_%H_%M`
        • adb pull -a /mnt/shell/emulated/jhs .
        • adb pull -a /mnt/shell/emulated/0/DCIM/Camera . ; echo "Internal Memory"
        • adb pull -a /mnt/shell/emulated/0/DCIM/OpenCamera . ; echo "Internal Memory"
        • adb pull -a /storage/extSdCard/DCIM/Camera . ; echo "External Memory"
        • adb pull -a /mnt/shell/emulated/0/Contacts.vcf .
        • adb pull -a acct cache config d data default.prop dev efs etc file_contexts firmware firmware-modem fstab.qcom init init.carrier.rc init.container.rc init.environ.rc init.qcom.rc init.qcom.usb.rc init.rc init.trace.rc init.usb.rc init.zygote32.rc knox_data mnt persdata persist preload property_contexts publiccert.pem root sbin sdcard seapp_contexts sepolicy sepolicy_version service_contexts sys system tombstones ueventd.qcom.rc ueventd.rc vendor .
          • adb above does not recognise symbolic Links, so results in duplicates with same inode number in android, but different duplicates on bsd, eg:
            ls -li
            mnt/sdcard/DCIM/Camera/20170210_145335.jpg \
            mnt/shell/emulated/0/DCIM/Camera/20170210_145335.jpg \
            1568880 1961464 20170210_145335.jpg
            1568880 1961464 20170210_145335.jpg
            1568880 1961464 20170210_145335.jpg
            46709460 1961464 mnt/sdcard/DCIM/Camera/20170210_145335.jpg
            58186292 1961464 mnt/shell/emulated/0/DCIM/Camera/20170210_145335.jpg
            58751621 1961464 sdcard/DCIM/Camera/20170210_145335.jpg
            Fortunately this is not so wasteful of space:
            • du -s -k mnt/extSdCard/DCIM/Camera mnt/sdcard/DCIM/Camera \ mnt/shell/emulated/0/DCIM/Camera sdcard/DCIM/Camera
            • android:
              12895936 mnt/extSdCard/DCIM/Camera
              43084 mnt/sdcard/DCIM/Camera
              43084 mnt/shell/emulated/0/DCIM/Camera
              43084 sdcard/DCIM/Camera
            • bsd:
              12995608 mnt/extSdCard/DCIM/Camera
              43664 mnt/sdcard/DCIM/Camera
              43664 mnt/shell/emulated/0/DCIM/Camera
              43664 sdcard/DCIM/Camera
            • As I modified camera app settings to store on external card, (where it less no symbolic Links overlap). The camera app only writes the internal memory when it needs faster writes to memory, eg for movie sequences.
        • mv: Caution: It's a Crappy old mv that wont move between devices ! I vaguely recall last seeing similar on Unix decades ago.
      vendor 0x17ef product 0x772b
      Android: USB computer connection: Media Device (MTP)
      FreeBSD: adb shell Succeeds
      Android: cd /storage/emulated/0
        # @ 2019-02-05: /storage/emulated/ has only /storage/emulated/legacy,
        # @ 2019-02-05: mkdir /storage/emulated/jhs fails: Read-only file system
        # @ 2019-02-05: mkdir /storage/emulated/legacy/jhs OK
      Android: mkdir jhs
      Android: cd /storage/emulated/legacy/jhs
      Android: ls -R/> ls-R
        # multiple "open-dir failed, Permission denied" FreeBSD: adb pull -a /storage/emulated/legacy/jhs/ls-R .
      FreeBSD: vi ls-R
      Telephone_contacts_Lenovo A5500-H_06.06.2017_1715.xml
      Tablet: Samsung Galaxy Tab4 SM-T330 Android 5.1.1, Kernel 3.4.0-5231636


      • cd /usr/ports/devel/android-tools-adb; make; su; make install
      • echo "There is no local manual, just `ls -l /usr/local/share/doc/android-tools-adb`"
      • Manual: adb.html
      • JJLATER I want to IP connect & NFS etc.
      • su #Perhaps
      • adb wait-for-device
        * daemon not running. starting it now on port 5037
        * daemon started successfully
        (This xterm issues no further prompt, until another xterm runs "adb kill-server")
      • ps -laxww | grep adb   #shows:
        adb -L tcp:5037 fork-server server --reply-fd 4
      • adb start-server
        (This returns with a prompt.)
      • adb kill-server
      • adb get-state
      • adb get-serialno
        6758498c # ( As seen & listed by berklix.conf )
      • adb devices -l
        List of devices attached
        Old: 6758498c device product:hltexx model:SM_N9005 device:hlte
        New: 6758498c device usb:1:4 product:hltexx model:SM_N9005 device:hlte transport_id:1
        New: 6758498c device usb:1:6 product:hltexx model:SM_N9005 device:hlte transport_id:1
      • adb connect 6758498c
        "unable to connect to 6758498c:5555: hostname nor servname provided, or not known"
      • adb disconnect
        "disconnected everything"
      • adb get-devpath
        unknown OR
        ugen1.6 OR
      • adb remount
        remount failed: Permission denied
      • adb root
        adb cannot run as root in production builds
      • adb usb # Needed before adb shell will succeed.
        Sometimes it hangs instead.
        * daemon not running. starting it now on port 5037 *
        * daemon started successfully *
        Then either:
        • restarting in USB mode
        • error: no devices/emulators found
      •   adb shell
        > | cd df du grep id ls mkdir mount ps which
        Missing on Android Samsung Galaxy Note 3:
        bash csh ed find head ksh sort su tail tar vi wc
        (  (find and grep are in Android ? on Samsung Galaxy S5 )
        Note although ed is missing one can load other vi & vim apps, eg
      • adb backup -f /data /android/`date "+%Y-%m-%dT%H:%M:%S"`.adb -shared -nosystem
        Now unlock your device and confirm the backup operation.
        touch "Back up my data" on the Android device.
        Maybe because a DHCP lease is expiring ?
        This froze at 13G, then at 2G 3rd attempt I removed the USB hub, & it still hung at 17G 17967444146. ^Z fg does not restore it, nor does unplugging & re-plugging. /var/log /messages:
        kernel: ums1: at uhub3, port 3, addr 4 (disconnected)
        lapr kernel: ugen1.4: <SAMSUNG> at usbus1
        root: Unknown USB device: vendor 0x04e8 product 0x6866 bus uhub3
        root: Unknown USB device: vendor 0x04e8 product 0x6866 bus uhub3
        kernel: ugen1.4: <SAMSUNG> at usbus1 (disconnected)
        kernel: ugen1.4: <SAMSUNG> at usbus1
        root: Unknown USB device: vendor 0x04e8 product 0x6866 bus uhub3
        root: Unknown USB device: vendor 0x04e8 product 0x6866 bus uhub3
        kernel: ugen1.4: <SAMSUNG> at usbus1 (disconnected)
  • devel/android-tools-fastboot &
    A diagnostic protocol primarily used to update the flash filesystem of Android devices over USB.
    JJLATER to_build
  • devel/android-tools-simpleperf a minimal Linux perf implementation for extracting sampling information out of
  • Clues to extra Android tools in FreeBSD may lie in:
    cd /pub/FreeBSD/branches/-current/ports/distfiles
    find . -type f -name \*android\* \;
  • lang/gnatdroid-sysroot Sysroots for C/Ada Android cross- compiler
  • audio/gmtp
    Basic GUI for Microsoft's Media Transfer Protocol (MTP) 2 including file transfer and some play list handling. Initiator implementation of the Media Transfer Protocol (MTP)
    MTP is used by Samsung (along with PTP too.)
  • deskutils /tine20
    includes address book, calendar, email, tasks, time tracking and CRM. .. include.. * Synchronising mobile telephones, such as iPhone, Android, Nokia and Windows Mobile
    Mail from George Mitchell george+freebsd at
  • net/crtmpserver
    High performance RTMP /RTSP streaming server rtmpd is a high performance streaming server able to stream (live or recorded) in the following technologies: - To and from Flash (RTMP, RTMPE, RTMPS, RTMPT, RTMPTE) - To and from embedded devices: iPhone, Android
  • net/linphone
    Linphone is an internet phone or Voice Over IP phone (VoIP). * With linphone you can communicate freely with people over the internet, with voice, video, and text instant messaging * Linphone makes use of the SIP protocol, an open standard for internet telephony. You can use Linphone with any SIP VoIP operator, including the free SIP audio /video service provided by * Linphone is available for desktop computers: Linux, Windows, MacOSX, and for mobile phones: Android, iPhone, Blackberry.
  • net/syncthing
    Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Pulse (previously Syncthing) ... Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized.
    Not in 9.3 ports. In current ports/
  • lang/gnatdroid-armv7Ada Compiler.
  • lang/gnatdroid-binutils/ Infrastructure for C/Ada Android cross-compiler
  • x11-fonts/ roboto-fonts-ttf Android fonts
  • Top Of Page

Android robot.svgAndroid Apps

Android robot.svgAndroid Proxies Issues & Solutions

BSD logo Network Address Translation

Android robot.svgNotes - Merged

  • Rooting / Android_rooting
  • Path Names
  • TREE - The directory structure.

    • See Also: Paths
    • DF
      • Samsung Galaxy Note 3 :
        cd /mnt/shell/emulated ; ls -lR / > ls-lR
          # Contacts App "Export to device storage"
          # Contacts App "Export to SD card"
          # ?
          # ?
          # ?
        Android: mkdir /sdcard/tmp
        Android: cd /sdcard/tmp
        Android: ls / > jhs2
        BSD: adb pull /sdcard/tmp/jhs2 .
        BSD: adb push jhs2 /sdcard/tmp/jhs3
        BSD: cd ~/txt/contacts
        BSD: adb push fritz.vcf /sdcard/tmp/fritz.vcf
        Filesystem Size Used Free Blksize
        /mnt/shell/emulated 26.3G 11.2G 15.2G 04.0K
        /storage/extSdCard 29.7G 05.9G 23.8G 32.0K
      • Samsung Galaxy S5 :

        cd /storage/self/primary ; ls -lR / > ls-lR
          # Fails to see /storage/emulated/0/DCIM/Camera
          # ?
          # ?
          # ?
        Filesystem Size Used Free Blksize
        /dev /sys/fs/cgroup /mnt /mnt/secure 845M 0.0K 845M 04.0K
        /storage/emulated/0/DCIM/Camera 11.8G 10.2G 1.6G 04.0K
        /storage/self/primary/DCIM/Camera ? ? ? ?
        Filesystem Size Used Free Blksize
        /dev 845.4M 148.0K 845.3M 4.0K
        /sys/fs/cgroup 845.4M 12.0K 845.4M 4.0K
        /mnt 845.4M 0.0K 845.4M 4.0K
        /mnt/secure 845.4M 0.0K 845.4M 4.0K
        /firmware 77.0M 8.4M 68.6M 16.0K
        /firmware-modem 64.0M 52.9M 11.0M 16.0K
        /system 2.4G 2.3G 90.4M 4.0K
        /data 11.8G 11.1G 688.3M 4.0K
        /cache 196.8M 8.4M 188.4M 4.0K
        /persist 7.9M 4.1M 3.8M 4.0K
        /efs 13.8M 4.3M 9.4M 4.0K
        /preload 49.2M 18.4M 30.8M 4.0K
        /persdata/absolute 8.8M 4.3M 4.6M 4.0K
        /storage 845.4M 0.0K 845.4M 4.0K
        /mnt/knox 11.8G 11.1G 688.3M 4.0K
        /mnt/shell/enc_media 11.8G 11.1G 663.3M 4.0K
        /storage/emulated 11.8G 11.1G 663.3M 4.0K
        /data/enc_user 11.8G 11.1G 688.3M 4.0K
        /mnt/shell/enc_emulated 11.8G 11.1G 663.3M 4.0K
        /data/knox/sdcard /mnt/knox/default/knox-emulated sdcardfs rw
        /data/knox/sdcard /mnt/knox/read/knox-emulated sdcardfs rw
        /data/knox/sdcard /mnt/knox/write/knox-emulated sdcardfs rw
        /data/knox/secure_fs/enc_media /mnt/shell/enc_media sdcardfs rw
        /data/knox/secure_fs/enc_user /data/enc_user ecryptfs rw
        /data/knox/tmp_sdcard /mnt/knox sdcardfs rw
        /data/media /mnt/runtime/default/emulated sdcardfs rw
        /data/media /mnt/runtime/read/emulated sdcardfs rw
        /data/media /mnt/runtime/write/emulated sdcardfs rw
        /data/media /storage/emulated sdcardfs rw
        /mnt/shell/enc_media /mnt/shell/enc_emulated ecryptfs rw
        debugfs /sys/kernel/debug debugfs rw
        none /acct cgroup rw
        none /sys/fs/cgroup tmpfs rw
        selinuxfs /sys/fs/selinux selinuxfs rw
        sysfs /sys sysfs rw
        tmpfs /mnt tmpfs rw
        tmpfs /mnt/secure tmpfs rw
        tmpfs /mnt/secure/asec tmpfs rw
        tmpfs /storage tmpfs rw
      • Samsung Galaxy Tab4 SM-T330
        Filesystem Size Used Free Blksize
        ? ? ? ? ?
      • Vodafone 858 df | grep -v /mnt/asec # Pruned.
        Filesystem Size Used Free Blksize
        /storage /sdcard1 2.0G 1.8G 160.1M 4096
        /storage /sdcard0 3.7G 43.7M 3.7G 32768
      • Vodafone 985N Smart Phone df | grep -v /mnt/asec # Pruned.
        Filesystem Size Used Free Blksize
        - - - - -
      • Lenovo TAB A8-50 8" 3G Tablet - "Lenovo A5500-H"
        df | grep -v /mnt/asec # Pruned.
        Filesystem Size Used Free Blksize
        - - - - -
    • Symbolic Links
      • Samsung Galaxy Note 3
        /d -> /sys /kernel /debug
        /etc -> /system /etc
        /sdcard -> /storage /emulated /legacy
        /tombstones -> /data /tombstones
        / vendor -> /system/ vendor
        /mnt /extSdCard -> /storage /extSdCard
        /mnt /sdcard0 -> /storage /emulated /legacy
        /mnt /UsbDriveA -> /storage /UsbDriveA
        /storage /knox-emulated -> /mnt /shell /knox-emulated
        /storage /sdcard0 -> /storage /emulated /legacy
        /storage /emulated /legacy -> /mnt /shell /emulated /0
    Notes: Other sites re. tree hierarchy:
"The main hardware platform for Android is the 32-bit ARMv7 architecture. The Android-x86 project provides support for the x86 architecture ... it is possible to run Android natively on regular PC hardware with a keyboard and a mouse,[87][88][89] with versions of Android, including 4.4, download-able from the Android-x86 project."


X Servers


Emulators, Cross Compiling, etc

  • "I have managed to run the Android OS with OpenGL support on FreeBSD." "gferenc88, Feb 4, 2013 "

Notes - Un-Merged

(After I've read stuff in this section [& URLs beyond & made notes], I aim to move it up to "Notes - Merged")

References and Acronyms


Corrections and Additions To This Page

Corrections and additions welcome; Ideally in ( Unix diff -c syntax), If you can't do that, quote a unique bit of page for me to search for in editor.
Email author

Odds: See Also:

Unfortunately, Google Play Store has stopped


Stolen VotesBerklix.Net Computer AssociatesDomainsApache: Web ServerFreeBSD: Operating System