====== Android Stuff ====== Some personal notes on using Android. ===== Termux Setup ===== Get Linux environment on Android. //**note** use the installer from fdroid, play store version does not work// * initial setup $ pkg update $ pkg install git vim clang make $ pkg install rsync * **note** will also get ssh * shared storage $ termux-setup-storage * **note** make sure point to sd card (easier to share) * create work path $ mkdir $HOME/work * clone my1shell, my1codelib, my1codeapp to work path //work in progress...// Alternative: using proot-distro * initial setup $ pkg update $ pkg install proot $ pkg install proot-distro * pick/install/config a distro $ proot-distro install debian $ proot-distro login debian * login as user (created in previous step) $ proot-distro login debian --user username * shared storage $ termux-setup-storage * access SD card (@''/storage/path/to/sdcard'') from proot * refer to $HOME/storage links DebianARM Install * $ apt install build-essential linux-headers-arm64 * $ apt install sqlite3 libsqlite3-dev * $ apt install apt-utils dialog git vim screen rsync * $ apt install texlive texlive-latex-extra texlive-science xfig //also work in progress...// ===== Dumping ground ===== Dumping this here for now... to disable an app (if not available on settings) * use adb (phone need to enable developer mode - usb debugging) ./adb devices => make sure NOT unauthorized (allow on phone side) => if that persists: disconnect, revoke usb debugging authorizations on android, reconnect ./adb shell pm uninstall [-k] [--user 0] -k : keep data and cache directories after removal to recover: cmd package install-existing google duo: com.google.android.apps.tachyon google photos: com.google.android.apps.photos google play movies: com.google.android.videos google music: com.google.android.music google browser plugin: com.android.browser youtube: com.google.android.youtube calendar: com.bbk.calendar calendar pendants: com.vivo.widget.calendar facebook services: com.facebook.services facebook app installer: com.facebook.system facebook app manager: com.facebook.appmanager vivo browser: com.vivo.browser vivo appstore: com.vivo.appstore vivo easyshare: com.vivo.easyshare vivo.com: com.vivo.website vivo email: com.vivo.email vivo account: com.bbk.account vivo cloud: com.bbk.cloud imanager: com.iqoo.secure imusic: com.android.bbkmusic imusic: com.vivo.dream.music itheme: com.bbk.theme weather: com.vivo.weather weather-lite: com.vivo.dream.weather weather storage: com.vivo.weather.provider vivo ewarranty: com.vivo.ewarranty touchpal packs: arabic: com.cootek.smartinputv5.language.oem.arabic assamese: com.cootek.smartinputv5.language.oem.assamese bengali: com.cootek.smartinputv5.language.oem.bengali bodo: com.cootek.smartinputv5.language.oem.indianbodo bopomofo: com.cootek.smartinputv5.language.oem.cht burmese: com.cootek.smartinputv5.language.oem.burmese cangjie: com.cootek.smartinputv5.language.oem.cangjie pm uninstall -k --user 0 com.vivo.appstore pm uninstall -k --user 0 com.vivo.website pm uninstall -k --user 0 com.vivo.browser pm uninstall -k --user 0 com.vivo.email pm uninstall -k --user 0 com.bbk.cloud pm uninstall -k --user 0 com.android.bbk.music pm uninstall -k --user 0 com.google.android.apps.tachyon pm uninstall -k --user 0 com.google.android.apps.photos pm uninstall -k --user 0 com.google.android.videos pm uninstall -k --user 0 com.google.android.music pm uninstall -k --user 0 com.google.android.browser usage access issue - install app ops - permission manager (xingchen & rikka) - will need to install shizuku (xingchen & rikka) - without root shizuku requires adb bootstart (once running, stays on!) - enable usb debugging (developer mode) - (on pc) as root, start adb server (adb start-server) - adb shell... then type the command shown by shizuku app ===== Analysis of Android (cheap, china made) disk parition layout ===== Dumped... https://spflashtool.com/download/ SP_Flash_Tool-5.1916_Linux.zip => ./adb shell $ cat /proc/mtd dev: size erasesize name $ cat /proc/dumchar_info Part_Name Size StartAddr Type MapTo preloader 0x0000000000880000 0x0000000000000000 2 /dev/misc-sd mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0 ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1 pro_info 0x0000000000300000 0x0000000000100000 2 /dev/block/mmcblk0 nvram 0x0000000000500000 0x0000000000400000 2 /dev/block/mmcblk0 protect_f 0x0000000000a00000 0x0000000000900000 2 /dev/block/mmcblk0p2 protect_s 0x0000000000a00000 0x0000000001300000 2 /dev/block/mmcblk0p3 seccfg 0x0000000000020000 0x0000000001d00000 2 /dev/block/mmcblk0 uboot 0x0000000000060000 0x0000000001d20000 2 /dev/block/mmcblk0 bootimg 0x0000000000600000 0x0000000001d80000 2 /dev/block/mmcblk0 recovery 0x0000000000600000 0x0000000002380000 2 /dev/block/mmcblk0 sec_ro 0x0000000000040000 0x0000000002980000 2 /dev/block/mmcblk0 misc 0x0000000000080000 0x00000000029c0000 2 /dev/block/mmcblk0 logo 0x0000000000300000 0x0000000002a40000 2 /dev/block/mmcblk0 expdb 0x0000000000a00000 0x0000000002d40000 2 /dev/block/mmcblk0 android 0x0000000035200000 0x0000000003740000 2 /dev/block/mmcblk0p4 cache 0x000000000e200000 0x0000000038940000 2 /dev/block/mmcblk0p5 usrdata 0x000000009e360000 0x0000000046b40000 2 /dev/block/mmcblk0p6 bmtpool 0x0000000001500000 0x00000000ff7700a8 2 /dev/block/mmcblk0 Part_Name:Partition name you should open; Size:size of partition StartAddr:Start Address of partition; Type:Type of partition(MTD=1,EMMC=2) MapTo:actual device you operate $ getprop ro.build.ab_update - returns nothing... so, using A-only partition scheme (instead of newer A-B scheme)