{"id":15639400,"url":"https://github.com/cirosantilli/android-cheat","last_synced_at":"2026-01-28T21:31:28.848Z","repository":{"id":146409096,"uuid":"49987095","full_name":"cirosantilli/android-cheat","owner":"cirosantilli","description":"Dozens of minimal Android demo apps, each a example of one single Android API concept. Tested on Ubuntu 17.10 host, Android Studio 3, Android SDK 26, and an Android 6.0.1 device.","archived":false,"fork":false,"pushed_at":"2018-01-25T15:36:45.000Z","size":896,"stargazers_count":93,"open_issues_count":1,"forks_count":36,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-05T07:10:06.253Z","etag":null,"topics":["android"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cirosantilli.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeView/.gitignore","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-19T22:17:38.000Z","updated_at":"2025-05-31T11:00:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c6aeaf3-ab62-4799-b433-4ed15a8fc860","html_url":"https://github.com/cirosantilli/android-cheat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cirosantilli/android-cheat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirosantilli%2Fandroid-cheat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirosantilli%2Fandroid-cheat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirosantilli%2Fandroid-cheat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirosantilli%2Fandroid-cheat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cirosantilli","download_url":"https://codeload.github.com/cirosantilli/android-cheat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirosantilli%2Fandroid-cheat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28852739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android"],"created_at":"2024-10-03T11:25:44.334Z","updated_at":"2026-01-28T21:31:28.813Z","avatar_url":"https://github.com/cirosantilli.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android Cheat\n\nDozens of minimal Android demo apps, each a example of one single Android API concept. Tested on Ubuntu 17.10 host, Android Studio 3, Android SDK 26, and an Android 6.0.1 device.\n\n1.  [**Getting started**](getting-started.md)\n1.  [Examples](examples.md)\n    1.  UI\n        1.  [XMLLayout](XmlLayout/)\n        1.  View\n            1.  TextView\n                1.  [TextViewNewlinew](TextViewNewlinew/)\n                1.  [TextViewBold](TextViewBold/)\n                1.  [TextViewHyperlink](TextViewHyperlink/)\n                1.  [ScrollView](ScrollView/)\n                1.  [ScrollingMovementMethod](ScrollingMovementMethod/)\n                1.  [EditText](EditText/)\n                    1.  [EditText.getText](EditTextGetText/)\n                1.  [Button](Button/)\n                    1.  [Checkbox](Checkbox/)\n                    1.  [RadioButton](RadioButton/)\n                1.  [setTextColor](SetTextColor/)\n            1.  [setBackgroundColor](SetBackgroundColor/)\n            1.  [setLayoutParams](SetLayoutParams/)\n                1.  [setLayoutParamsLinearLayout](SetLayoutParamsLinearLayout/)\n            1.  ViewGroup\n                1.  [RelativeLayout](RelativeLayout/)\n                1.  [LinearLayout](LinearLayout/)\n            1.  Media\n                1.  [ImageView](ImageView/)\n                    1.  [Bitmap](Bitmap/)\n                1.  [VideoView](VideoView/)\n            1.  Screen\n                1.  [Fullscreen](Fullscreen/)\n                1.  [Portrait](Portrait/)\n        1.  Activities\n            1.  [TwoActivities](TwoActivities/)\n            1.  [ActivityLifecycle](ActivityLifecycle/)\n            1.  [ChangeView](ChangeView/)\n        1.  Notifications\n            1.  [Notification](Notification/)\n            1.  [Toast](Toast/)\n            1.  [AlertDialog](AlertDialog/)\n        1.  [Fragment](Fragment/)\n    1.  [BackgroundJobsTheory](background-jobs.md)\n        1.  [Handler](Handler/)\n        1.  [IntentService](IntentService/)\n            1.  [IntentServiceTextView](IntentServiceTextView/)\n            1.  [IntentServiceStartStop](IntentServiceStartStop/)\n        1.  [AsyncTask](AsyncTask/)\n    1.  [ServerSocket](ServerSocket/)\n        1.  [Socket](Socket/)\n            1.  [SocketAsyncTask](SocketAsyncTask/)\n    1.  Hardware\n        1.  [Camera](camera/)\n            1.  [CameraOneShot](CameraOneShot/)\n            1.  [CameraPreviewVideo](CameraPreviewVideo/)\n    1.  [Location theory](location.md)\n        1.[Location](Location/)\n    1.  [Env](Env/)\n    1.  [Ndk](Ndk/)\n        1.  [NdkSyslog](NdkSyslog/)\n        1.  [NDKLog](NdkLog/)\n        1.  [NDKLibc](NdkLibc/)\n        1.  [NDKTwoFiles](NdkTwoFiles/)\n1.  Theory\n    1.  [Root](root.md)\n    1.  Development\n        1.  [Build AOSP](build-aosp.md)\n            1.  [build-aosp](build-aosp)\n            1.  [build-aosp-hikey960](build-aosp-hikey960)\n        1.  [Contribute to AOSP](contribute-to-aosp.md)\n        1.  [Internals](internals.md)\n            1.  [Device file hierarchy](device-file-hierarchy.md)\n            1.  [Networking](networking.md)\n        1.  [android command](android-command.md)\n        1.  [adb](adb.md)\n            1.  [Project file hierarchy](project-file-hierarchy.md)\n                1. [AndroidManifest.xml](android-manifest.md)\n            1.  [ant](ant.md)\n        1.  [Debugging](debugging.md)\n        1.  [Gradle](gradle.md)\n        1.  [Apps](apps.md)\n            1.  [GAPPS](gapps.md)\n                1. [gmail](gmail.md)\n            1.  [WhatsApp](whatsapp.md)\n        1.  [SDK](sdk.md)\n        1.  [aapt](aapt.md)\n        1.  [Studio](studio.md)\n        1.  [Emulator](emulator.md)\n    1.  [AOSP](aosp.md)\n        1. [repo](repo.md)\n    1.  [Desktop](desktop.md)\n        1. [POSIX](posix.md)\n    1.  [Monitor app power consumption](monitor-app-power-consumption.md)\n    1.  Mods\n        1. [CyanogenMod](cyanogenmod.md)\n        1. [AOKP](aokp.md)\n    1.  [Google play](google-play.md)\n    1.  [Open source](open-source.md)\n    1.  [Trivia](trivia.md)\n    1.  [GPU](gpu.md)\n    1.  [Security](security.md)\n    1.  [Close app](close-app.md)\n    1.  [Fingerprint sensor](fingerprint-sensor.md)\n\n## Chats\n\nMark all as read:\n\n\u003chttps://productforums.google.com/forum/#!topic/gmail/h-7PALCVZH0\u003e\n\n## Uninstallable apps\n\nSome bloatware cannot be removed at all:\n\n- \u003chttp://www.phonearena.com/news/Cant-uninstall-an-Android-app-This-could-be-your-problem_id61301\u003e\n- \u003chttp://forum.xda-developers.com/xperia-j-e/help/st26a-uninstall-uninstallable-apps-t2622293\u003e\n- \u003chttp://stackoverflow.com/questions/6415304/uninstallable-app-for-android\u003e\n\n## Bibliography\n\n-   Android Authority\n    - https://www.youtube.com/channel/UCgyqtNWZmIxTx3b6OxTSALw\n-   https://en.wikipedia.org/wiki/XDA_Developers\n    - http://www.xda-developers.com/\n\n## Small apps\n\nStay on top of other apps.\n\nSample application: take screenshot!\n\n- \u003chttps://developer.sony.com/develop/smartphones-and-tablets/camera-add-on-small-apps-or-ir-remote-apis/about/small-app-api/\u003e\n- \u003chttp://developer.sonymobile.com/2012/09/26/let-your-app-stay-on-top-with-small-apps-for-xperia-tablet-s/\u003e\n\n## Screenshot\n\nOn Xperia Z3, Power key + volume down.\n\n## Icons\n\n-   \u003chttp://android.stackexchange.com/questions/98975/complete-list-of-lollipop-system-icons-shown-in-notification-bar\u003e\n    - only network symbols: \u003chttp://android.stackexchange.com/questions/56269/what-are-the-different-signal-indicators-avalable-on-the-notification-bar\u003e\n-   4G vs H+ vs H\n    - completely different WWAN standards: http://android.stackexchange.com/questions/56269/what-are-the-different-signal-indicators-avalable-on-the-notification-bar\n\n## UI\n\n### Status bar\n\nTopmost bar on the screen, contains several icons like signal .\n\n### Lock screen\n\nWhat you see when you hit the power button.\n\n### Lock screen widgets\n\nRemoved apparently in Android 5.\n\n\u003chttp://www.androidauthority.com/lock-screen-widgets-android-lollipop-611516/\u003e\n\n### Toast\n\n\u003chttp://www.mkyong.com/android/android-toast-example/\u003e\n\n## Notification history\n\n- \u003chttp://android.stackexchange.com/questions/50177/android-4-3-how-to-get-the-notification-history\u003e\n\n## Notifications\n\n### Transfer data to SD card notification\n\nDisable:\n\n- https://www.reddit.com/r/SonyXperia/comments/3101yj/how_do_i_disable_the_notification_transfer_data/\n- https://talk.sonymobile.com/t5/Xperia-Z-ZL-ZR/Transfer-data-to-SD-card-notification/td-p/318761\n\n### Application updated notification\n\nDisable: \u003chttp://android.stackexchange.com/questions/58021/how-to-get-rid-of-update-notifications-for-a-given-app-in-google-play-store\u003e\n\n### New voicemail notification\n\nDisable:\n\n- \u003chttp://android.stackexchange.com/questions/60103/how-can-i-disable-voicemail-notifications\u003e\n- \u003chttp://forums.androidcentral.com/samsung-galaxy-s4/276901-there-way-turn-off-voicemail-notifications.html\u003e\n\n## Bloatware\n\nShitty software pre-installed by OEMs or carriers to get money from your personal information.\n\nE.g., my Vivo (Brazilian carrier) + Sony Xperia Z3 has bloatware from both Vivo and Sony.\n\nApple forbids carriers from doing it it seems.\n\n\u003chttp://www.greenbot.com/article/2920125/dear-carriers-please-stop-putting-bloatware-on-my-android-phone.html\u003e\n\nAnd on top of that, most bloatware cannot be uninstalled without rooting!!\n\n### Skins\n\nGUI changes made by OEMs or carriers to steal your data.\n\n- Samsung: \u003chttps://en.wikipedia.org/wiki/TouchWiz\u003e\n- LG G UI\n- HTC Sense UI\n- Sony Xperia UI\n\n### Stock device\n\nNo bloatware.\n\nNear stock devices: \u003chttp://www.phonearena.com/news/Best-2015-smartphones-that-run-stock-or-near-stock-Android_id75780\u003e\n\n#### Google play edition\n\nCertified near stock devices.\n\n\u003chttps://en.wikipedia.org/wiki/List_of_Google_Play_edition_devices\u003e\n\n\u003chttp://arstechnica.com/gadgets/2015/01/dont-cry-for-the-google-play-edition-program-it-was-already-dead/\u003e\n\nDied.\n\n#### Google Nexus\n\n\u003chttps://en.wikipedia.org/wiki/Google_Nexus\u003e\n\nNo bloatware phones.\n\nStrategy:\n\n- \u003chttps://www.quora.com/Why-doesnt-Google-start-manufacturing-phones\u003e\n\n### QR code scan\n\nNo built-in apparently:\n\n- \u003chttp://www.pcadvisor.co.uk/how-to/google-android/how-scan-codes-with-your-smartphone-3513431/\u003e\n- \u003chttps://www.quora.com/Why-havent-Google-or-Apple-embedded-a-QR-reader-in-their-Camera-apps\u003e\n- \u003chttp://www.androidcentral.com/using-android-and-qr-codes\u003e\n\n### Panoramic photo\n\nWas installed by default on 5.1.1 Xperia Z3 as a \"camera app\".\n\nOpen the camera, and search for it.\n\n### App version\n\nFind:\n\n- any way \u003chttp://android.stackexchange.com/questions/2016/how-can-you-tell-which-version-of-an-app-is-on-your-android-phone/130407#130407\u003e\n- adb \u003chttp://stackoverflow.com/questions/11942762/get-application-version-name-using-adb\u003e\n\n## Linux file transfer\n\n## Media transfer mode\n\n## Mass storage mode\n\n- \u003chttp://askubuntu.com/questions/189591/connecting-android-4ice-cream-sandwich-jelly-bean-kitkat-phone\u003e\n- \u003chttp://askubuntu.com/questions/199280/how-to-install-pc-companion-software-of-sony-xperia\u003e\n- \u003chttp://android.stackexchange.com/questions/66385/how-to-transfer-files-from-an-android-phone-to-a-ubuntu-pc-by-using-a-usb-cable\u003e\n- \u003chttp://android.stackexchange.com/questions/91900/is-there-a-viable-alternative-to-mtp-for-file-transfer?lq=1\u003e\n\nSSH method working: http://askubuntu.com/questions/189591/connecting-android-4ice-cream-sandwich-jelly-bean-kitkat-phone#comment1035980_222851\n\n## App isolation\n\nEach App runs under a different UID: \u003chttp://security.stackexchange.com/questions/67188/android-app-isolation-risks-implementation\u003e So it just reuses Linux's security.\n\n## HTML GUI\n\n\u003chttp://stackoverflow.com/questions/9045355/how-to-create-an-android-app-using-html-5\u003e\n\u003chttp://developer.android.com/guide/webapps/index.html\u003e\n\nAndroid uses it's custom GUI API. Some day, maybe.\n\n### APK\n\nPackaging format for android apps.\n\n#### Aligned vs unaligned\n\n\u003chttp://stackoverflow.com/questions/22058210/why-unaligned-apk-is-needed\u003e\n\n### AOKP\n\nhttps://en.wikipedia.org/wiki/AOKP\n\nhttp://android.stackexchange.com/questions/50491/what-is-the-difference-between-aosp-and-aokp\n\n### ODEX\n\n### Optimizing apps\n\n### Dalvik cache\n\n- \u003chttps://www.quora.com/What-is-Android-doing-when-after-an-upgrade-it-tells-you-its-optimizing-the-apps\u003e\n- \u003chttp://stackoverflow.com/questions/7541281/what-is-dalvik-and-dalvik-cache\u003e\n- \u003chttps://en.wikipedia.org/wiki/Dalvik_%28software%29\u003e\n\nReplaced by ART in Android 5.\n\n### ART\n\nSuccessor of Dalvik.\n\nNo JIT, full AOT is done.\n\n### x86\n\n-   \u003chttp://stackoverflow.com/questions/17770907/is-android-os-only-used-for-arm-cpus\u003e\n\n-   \u003chttp://www.android-x86.org/\u003e\n\n    TODO: linked to the Intel partnership? Or that one is yet to be released?\n\n### Java 8\n\nNope: \u003chttp://stackoverflow.com/questions/23318109/is-it-possible-to-use-java-8-for-android-development\u003e\n\n### libc\n\nBionic, Google-made.\n\n### ROM\n\nRead only memory.\n\nStores the OS.\n\nMounted under `/system`\n\nIf you root the device, you can change it, and make a custom Android however you like.\n\n\u003chttps://www.youtube.com/watch?v=RIi4KXgZYsI\u0026feature=iv\u0026src_vid=AWNykj-lb-I\u0026annotation_id=annotation_162326159\u003e\n\n### USB debugging mode\n\nTODO? What is that?\n\nEnabled from Developer options\n\nDisable the eternal notification: \u003chttp://android.stackexchange.com/questions/5075/how-do-i-disable-the-usb-connected-notification\u003e\n\n### Tether\n\n\u003chttps://en.wikipedia.org/wiki/Tethering\u003e\n\nRequires root, but available on Google Store.\n\nCarriers may require you to pay for that if you tether from their network instead of LAN, which is why Android disables it by default.\n\nRoot allows you to re-enable that.\n\n### HBOOT\n\nThe Android bootloader?\n\n- \u003chttp://android.stackexchange.com/questions/27920/what-does-hboot-mean\u003e\n\n## Smart lock\n\nUnlock in some cases without a password.\n\nOn-body detection: \u003chttp://www.androidcentral.com/body-detection-explained\u003e Uses accelerometer.\n\nKnown WIFI not available it seems:\n\n- \u003chttps://www.reddit.com/r/Android/comments/2pyyk5/smartlock_request_wifi_please_googs/\u003e\n\n## Piracy\n\n- \u003chttp://www.businessinsider.com/android-piracy-problem-2015-1\u003e\n\n## Soft reset vs reboot\n\nTODO?\n\n- \u003chttps://www.reddit.com/r/xposed/comments/215ord/what_is_the_difference_between_reboot_and_soft/\u003e\n- \u003chttp://android.stackexchange.com/questions/123905/what-is-the-difference-between-temp-root-pemanent-root-what-is-a-soft-reboot\u003e\n\nApparently soft rest is more superficial, and thus faster, but solves less problems.\n\n## Sony Xperia\n\n### Xperia Home\n\nReset home screen to device default:\n\n    Settings -\u003e Apps -\u003e All -\u003e Xperia Home -\u003e Clear data -\u003e OK.\n\n## Do not disturb\n\n## Silent mode\n\n## Blocking mode\n\nTODO where is it?? How to turn it on?\n\n## Linux run Android app natively\n\n- \u003chttp://thenextweb.com/google/2015/04/02/google-releases-a-tool-for-developers-to-launch-android-apps-on-windows-mac-linux-and-chrome-os/\u003e\n- \u003chttps://www.linux.com/learn/tutorials/842630-installing-android-apps-on-linux-with-archon\u003e\n- \u003chttps://www.maketecheasier.com/running-android-apps-on-linux/\u003e\n\n## Peripherals\n\n- joystick root calibration method \u003chttps://www.youtube.com/watch?v=GwrGpVquGyo\u003e\n\n## aar\n\n## Android library project\n\n\u003chttp://stackoverflow.com/questions/23915619/android-archive-library-aar-vs-standard-jar\u003e\n\n## fugu\n\n\u003chttp://www.androidpolice.com/2014/11/05/the-nexus-player-fugu-initial-android-5-0-factory-image-and-binaries-are-ready-to-download-now/\u003e\n\n## Screen pinning\n\n\u003chttp://www.cnet.com/how-to/ho-to-pin-apps-in-android-5-lollipop/\u003e\n\n## Phone without battery\n\nIf you link USB power cables directly to the battery energy entry points, it works: \u003chttps://www.youtube.com/watch?v=f0IuBld2lzA\u003e\n\n## Secret codes\n\n\u003chttp://android.stackexchange.com/questions/35758/how-to-view-the-android-service-menu-secret-menu\u003e\n\nVary with Model, OEM and Carrier. TODO: are any built into the core?\n\n## Hardware\n\n\u003chttp://developer.android.com/guide/topics/sensors/sensors_environment.html\u003e\n\n## Enterprises\n\n### Open Handset Alliance\n\n\u003chttps://en.wikipedia.org/wiki/Open_Handset_Alliance\u003e\n\n## Hardware requirements\n\nMemory:\n\n- \u003chttp://android.stackexchange.com/questions/34958/what-are-the-minimum-hardware-specifications-for-android\u003e\n- \u003chttps://www.quora.com/What-is-the-minimum-RAM-size-needed-to-run-Android-5-1-or-6\u003e\n\n## Native libraries available\n\nTODO Which native libraries must be available on all Android systems?\n\nOpenCL: mostly not:\n\n- \u003chttp://arrayfire.com/opencl-on-mobile-devices/\u003e\n- \u003chttp://stackoverflow.com/questions/9005352/how-to-use-opencl-on-android\u003e\n- \u003chttp://stackoverflow.com/questions/26795921/does-android-support-opencl\u003e\n\n## UART\n\n## Serial\n\n- via headphone jack! \u003chttps://www.pentestpartners.com/blog/how-to-hardware-hack-android-over-uart/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcirosantilli%2Fandroid-cheat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcirosantilli%2Fandroid-cheat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcirosantilli%2Fandroid-cheat/lists"}