Notes on Android system and console tools available.
Android (and Friends) Reading Guide | Linux.org
hellogv 的专栏 - 博客频道 - CSDN.NET
Android Device - eLinux.org
Android Trends in 2020 - AndroidPub
Mind The Robot
Android versions: A living history from 1.0 to today | Computerworld
Stock Android vs Android One vs Android Go: the differences explained
Android Oreo: 18 advanced tips and tricks | Computerworld
10 hidden tricks for making the most of Android 10's gestures | Computerworld
How to take full advantage of Android 10's privacy-reclaiming powers | Computerworld
Secret settings hidden in your Android phone will make it feel twice as fast – BGR
How A/B Partitions and Seamless Updates Affect Custom Development on XDA
Android is not Open
Here we go again: Android is, apparently, not open – OSnews
Neither Microsoft, Nokia, nor anyone else should fork Android. It’s unforkable. – Ars Technica
New Android OEM licensing terms leak; “Open” comes with a lot of restrictions – Ars Technica
Android Apps
Android apps: Best of the best | Computerworld
18 time-saving tips for the Chrome Android browser | Computerworld
The best Android file manager apps | Computerworld
The best note-taking apps for Android | Computerworld
Save time with efficiency-boosting Android apps | Computerworld
Termux Android terminal emulator and Linux environment app
Play Store Alternatives
Download APK free online downloader | APKPure.com
QooApp Game Store
F-Droid - Free and Open Source Android App Repository
当贝市场 TV 版最新版当贝市场下载安卓电视 APK_当贝市场
UserLAnd
UserLAnd | Main UserLAnd Repository
UserLAnd, a Turnkey Linux in Your Pocket | Linux Journal
CypherpunkArmory/UserLAnd: Main UserLAnd Repository
UserLAnd - Apps on Google Play
Export Chrome's Tabs
When you never close tabs on your mobile Chrome browser - DEV Community 👩💻👨💻
./adb forward tcp:9222 localabstract:chrome_devtools_remote
curl http://localhost:9222/json/list | jq ".[].url" | tr -d '"' > mobile_tabs.txt
wget -O tabs.json http://localhost:9222/json/list
How can I export the list of open Chrome tabs? - Android Enthusiasts Stack Exchange
Android dev
Kotlin was supported officially as a language for Android dev at Google I/O 2017.
A Developer's Intro to Android
Guide to app architecture | Android Developers
Meet Google Play's target API level requirement | Android Developers
Android CPU, Compilers, D8 & R8 – ProAndroidDev Runtimes
Google Codelabs
Android Basics in Kotlin course | Android Developers
Android Basics with Compose course | Android Developers
Jetpack Compose for Android Developers
Android Kotlin Fundamentals | Training Courses | Android Developers
Advanced Android in Kotlin | Training Courses | Android Developers
Developing Android Apps with Kotlin | Udacity
Advanced Android with Kotlin | Udacity
ProAndroidDev
AndroidDev – AndroidPub – Medium
Modern Android development with Kotlin, Part 1 – ProAndroidDev
Modern Android development with Kotlin (Part 2) – ProAndroidDev
Modern Android development with Kotlin Part 3 – ProAndroidDev
Modern Android development with Kotlin Part 4 – ProAndroidDev
mladenrakonjac/ModernAndroidApp: Code for Medium article
25 new Android libraries which you definitely want to try at the beginning of 2017
AOSP
AndroidXRef up to 9.0 in 2018
[GUIDE] Understanding the Android Source Code | XDA Forums
[GUIDE] Learning about the Android Build Process | XDA Forums
Tutorial: Diving into Android Source Code | ProTech 2013
IBinder
What is Ibinder in Android? [Answered 2023]- Droidrant
Volley
Volley overview | Volley
Google I/O 2013 - Volley: Easy, Fast Networking for Android - YouTube
Jetpack
Android Jetpack Dev Resources - Android Developers❗!important, new standard library compatible with Kotlin
Jetpack Compose UI App Development Toolkit - Android Developers UI toolkit with Kotlin DSL
Android Developers Blog: Hello World, AndroidX
Android Jetpack Brings WorkManager, Navigation and More
s
Data Binding Library | Android Developers
Data Binding in Android: A tutorial with examples - LogRocket Blog
Compose From First Principles | Intelligible Babble
Store grand re-opening: loading Android data with coroutines - Dropbox
Room ORM
Save data in a local database using Room | Android Developers
7 Steps To Room – Google Developers – Medium
Transition
Animate layout changes using a transition | Android Developers
Android for PC
Android-x86 - Porting Android to x86
Top 5 Best Bluestacks Alternative in 2023 – AirDroid
Bluestacks
BlueStacks –電腦和 Mac 上最快的安卓模擬器| 100%安全免費
How can I install APK file on Bluestacks app player? - Android Enthusiasts Stack Exchange
Android sysadmin
attach adbpull, adbpush, adbview, adbcmd here
- prettify /proc/wakelocks
# on device
cat /proc/wakelocks | busybox awk '{ printf "%-25s %-10s\n", $1, $5 }' | busybox grep -v " 0"
# with adb
adb shell cat /proc/wakelocks | awk '{ printf "%-25s %-10s\n", $1, $5 }' | grep -v " 0"
- input device info
cat /proc/bus/input/devices
GPU
Caffe
OAID/CaffeOnACL: Using ARM Compute Library (NEON+GPU) to speed up caffe; Providing utilities to debug, profile and tune application performance
RockchipOpensourceCommunity/CaffeOnACL-Android: Porting CaffeOnACL to RK3399 Android platform
Renderscript
Deprecated from Android 12
RenderScript - Wikiwand
RenderScript Overview | Android Developers
Android Renderscript - YouTube 2011
Learn about RenderScript from Romain Guy and Chet Haase of the Android UI Toolkit team - YouTube 2011
Google I/O 2013 - High Performance Applications with RenderScript - YouTube
GDC Booth Presentation by Google: Renderscript 2013 - YouTube
AnDevCon: A Deep Dive into RenderScript - YouTube 2013
Renderscript from the perspective of an OpenCL/CUDA/C++ AMP programmer – Searching for divine code
android - Why did Google choose RenderScript instead of OpenCL - Stack Overflow
APK download
F-Droid - Free and Open Source Android App Repository
Download APK from Google Play Store free online downloader | APKPure.com
APK Download of Free Android Apps - AndroidDrawer.com
APK Downloader [Latest] Download Directly | Chrome Extension v3 (Evozi Official)
QooApp 遊戲庫
SmartTube (Official Site)
yuliskov/SmartTubeNext: SmartTube - an advanced player for set-top boxes and tv running Android OS
ReVanced Extended 18.40.34 | Download APK for Android
Remote mouse
悟空遥控器TV版最新版悟空遥控器下载安卓电视APK_当贝市场
Android app that is able to allow mobile to control Android STB remotely. The server app does not require rooting and system integration. It draws the cursor on an overlay layer and issue commands to Input
framework.
Programmatically Injecting Events on Android - Part 1 - PocketMagic
Programmatically Injecting Events on Android - Part 2 - PocketMagic
Android Overlay Mouse Cursor - PocketMagic
Debugging
adb
Android Debug Bridge (adb) | Android Studio | Android Developers
Android Debug Bridge - ArchWiki
ashishb/adb-enhanced: 🔪Swiss-army knife for Android testing and development 🔪 ⛺
JeffLIrion/adb_shell: A Python implementation of ADB with shell and FileSync functionality.
SDK Platform Tools release notes | Android Studio | Android Developers
How to Install ADB on Windows, macOS, and Linux
adb
comes with the Android SDK, and released separately as Platform Tools in 2017.
Android Debug Bridge (ADB) | Android Open Source Project
adb - platform/system/core - Git at Google android11-release
adb - Android Code Search
Enable adb via TCP
On PC:
adb tcpip 5555
On device (need ROOT):
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
adb connect <DEVICE_IP_ADDRESS>:5555
logcat
logcat filtering (Eclipse and Android Studio)
pid:
text:
app: package name (com.example.android.bluetoothlegatt
)
tag: ^(?!.*(DeskClock|dalvik|wpa)).*$
, ^(?!(BluetoothAdapter|AbsListView))
android-log-viewer
mlopatkin / android-log-viewer — Bitbucket
logcat (node)
logcat-org/logcat: adb logcat console and web viewer
pidcat (python)
Android on Linux
Android Apps on Linux | Linux.org via Chrome
Best Ways To Use Android Apps In Ubuntu - LinuxAndUbuntu - Linux News | Apps Reviews | Linux Tutorials HowTo
Anbox Runs Android In Your Linux Without Emulation - LinuxAndUbuntu - Linux News | Apps Reviews | Linux Tutorials HowTo
Genymobile/scrcpy: Display and control your Android device
Scrcpy & Sndcpy: Screencast Any Android Phone To Your Computer - YouTube
Factory Reset Protection
Factory Reset Protection: What you need to know | Android Central
Bypass
How to Bypass Factory Reset Protection Android [2023 Latest] Samsung, Huawei
Gist:
- Open YouTube app
- Go to Privacy Policy in Settings, which opens a web browser
- Go to https://HardReset.Info/frp (override screen lock pattern/pin) or https://easy-firmware.com/efrp/ (force stop service in Accessibility Tool)
GOOGLE Pixel 7 Bypass Google Account Verification | Remove Google Lock | Unlock FRP Android 13 - YouTube
New! Google Pixel 3 FRP Bypass Android 12 Without PC || Pixel 3 Frp Bypass Android 12 - YouTube
aapt
Android Asset Packaging Tool
Usage:
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
aapt d[ump] [--values] [--include-meta-data] WHAT file.{apk} [asset [asset ...]]
strings Print the contents of the resource table string pool in the APK.
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \
[-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \
[--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \
[--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \
[--rename-manifest-package PACKAGE] \
[--rename-instrumentation-target-package PACKAGE] \
[--utf16] [--auto-add-overlay] \
[--max-res-version VAL] \
[-I base-package [-I base-package ...]] \
[-A asset-source-dir] [-G class-list-file] [-P public-definitions-file] \
[-S resource-sources [-S resource-sources ...]] \
[-F apk-file] [-J R-file-dir] \
[--product product1,product2,...] \
[-c CONFIGS] [--preferred-configurations CONFIGS] \
[--split CONFIGS [--split CONFIGS]] \
[--feature-of package [--feature-after package]] \
[raw-files-dir [raw-files-dir] ...] \
[--output-text-symbols DIR]
Package the android resources. It will read assets and resources that are
supplied with the -M -A -S or raw-files-dir arguments. The -J -P -F and -R
options control which files are output.
aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
Delete specified files from Zip-compatible archive.
aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
Add specified files to Zip-compatible archive.
aapt c[runch] [-v] -S resource-sources ... -C output-folder ...
Do PNG preprocessing on one or several resource folders
and store the results in the output folder.
aapt s[ingleCrunch] [-v] -i input-file -o outputfile
Do PNG preprocessing on a single file.
aapt v[ersion]
Print program version.
Modifiers:
-a print Android-specific data (resources, manifest) when listing
-c specify which configurations to include. The default is all
configurations. The value of the parameter should be a comma
separated list of configuration values. Locales should be specified
as either a language or language-region pair. Some examples:
en
port,en
port,land,en_US
-d one or more device assets to include, separated by commas
-f force overwrite of existing files
-g specify a pixel tolerance to force images to grayscale, default 0
-j specify a jar or zip file containing classes to include
-k junk path of file(s) added
-m make package directories under location specified by -J
comes before this one. The first Feature Split APK should not define
anything here.
--rename-manifest-package
Rewrite the manifest so that its package name is the package name
given here. Relative class names (for example .Foo) will be
changed to absolute names with the old package so that the code
does not need to change.
--rename-instrumentation-target-package
Rewrite the manifest so that all of its instrumentation
components target the given package. Useful when used in
conjunction with --rename-manifest-package to fix tests against
a package that has been renamed.
--product
Specifies which variant to choose for strings that have
product variants
--utf16
changes default encoding for resources to UTF-16. Only useful when API
level is set to 7 or higher where the default encoding is UTF-8.
--non-constant-id
Make the resources ID non constant. This is required to make an R java class
that does not contain the final value but is used to make reusable compiled
libraries that need to access resources.
--shared-lib
Make a shared library resource package that can be loaded by an application
at runtime to access the libraries resources. Implies --non-constant-id.
--error-on-failed-insert
Forces aapt to return an error if it fails to insert values into the manifest
with --debug-mode, --min-sdk-version, --target-sdk-version --version-code
and --version-name.
Insertion typically fails if the manifest already defines the attribute.
--error-on-missing-config-entry
Forces aapt to return an error if it fails to find an entry for a configuration.
--output-text-symbols
Generates a text file containing the resource symbols of the R class in the
specified folder.
--ignore-assets
Assets to be ignored. Default pattern is:
!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~