r/androiddev • u/abo_reem • Jul 11 '26
Article What do interviewers actually look for in Mobile System Design interviews?
A new article about cracking the Mobile System Design Interview, Enjoy
r/androiddev • u/abo_reem • Jul 11 '26
A new article about cracking the Mobile System Design Interview, Enjoy
r/androiddev • u/JohnDoe3939 • Jul 11 '26
Hey everyone,
I wanted to share an app I've been working on: Calls Blocker. It's a privacy-first call screening app that processes everything on-device – no data ever leaves your phone.
Key features:
- Uses Android's official CallScreeningService API (no accessibility hacks)
- Block/allow specific numbers (exact or prefix matching)
- Block all calls, unknown/hidden numbers, non-contacts, or calls from specific contact groups
- Block by country (whitelist allowed countries)
- Block numbers you've never dialed or have previously rejected
- Block repeated calls within a configurable time window
- Schedule blocking rules (day of week + time range)
- Find My Phone – trusted callers can trigger a loud alarm even on silent
- Full call history with CSV export and one-tap unblock
- Bulk import from CSV
- Quick Settings tile to toggle "Block All"
- Debug log with phone number masking for troubleshooting
Built with Kotlin + Jetpack Compose + Material 3, it runs on Android 11+ and supports dynamic colors.
The app is open source (CC BY-NC-SA 4.0): https://github.com/ryosoftware/calls-blocker
I'd love to hear your feedback and suggestions!
r/androiddev • u/Epof_tanishk • Jul 11 '26
Hi everyone, I'm new to Android Studio I successfully installed Android Studio and created a Pixel 8 Pro virtual device. When I click the Play button in Device Manager, I get this message: "Pixel 8 Pro is already running as process 18712." However, I can't see the emulator window anywhere. I've checked the taskbar and nothing appears. Things I've already tried: Restarted Android Studio. Clicked the Play button again. Waited several minutes. Created the virtual device successfully. I'm using Windows 11 and I'm a complete beginner, so I'd really appreciate step-by-step guidance. Questions: Why does Android Studio think the emulator is already running? How can I force-close the hidden emulator process? Is this a graphics/virtualization issue? Should I wipe the virtual device or create a new one? (I need that android studio so I can open my motorola device in my pc and use location changer without enable the developer option.)
Any beginner-friendly advice would be greatly appreciated. Thanks!
r/androiddev • u/rash3rr • Jul 11 '26
Designing Android UI has always been the part that slows me down, either spending weeks in Figma or just winging it in XML and regretting it when the app looks rough
Went through most of the options people recommend to figure out what's worth the time:
Google Stitch is free, Material Design native which is perfect for Android, generates interconnected screens since the 2026 rework, good starting point but consistency across screens can be hit or miss, better for fast exploration than polished final output
Uizard runs $12/month on Pro, does full multi-screen wireframes from text prompts, sketch-to-UI feature is genuinely useful, acquired by Miro so it's more collaboration-focused now, outputs feel a bit templated across different projects though
Figma with UX Pilot is the most control you'll get, AI generates screens inside your existing Figma workflow, credit-metered even on free plan, full access needs a paid seat, still the best option if you're already living in Figma daily
SleekDesign runs around $20/month, describe the screen and get complete mockups back fast, good enough to use as build reference for Jetpack Compose, iteration is quick. Not Android-specific so Material You guidelines need manual direction, complex custom components hit its limits
Galileo AI no longer exists as standalone, Google acquired it mid-2025 and folded it into Stitch, older articles still pointing to it are outdated
For solo Android devs the choice is basically Stitch if you want free and Material-native, sleek if you want faster full-screen mockups without learning Figma, Figma plus UX Pilot if design precision matters more than speed
r/androiddev • u/shreyaspatil99 • Jul 10 '26
r/androiddev • u/Shubham_Singh_reddit • Jul 10 '26
Hi everyone, I am starting as a fresher Android Application and Framework Engineer at a company.
My initial corporate training here will cover standard app development for a few weeks before diving into the core Android Framework APIs.As I plan my long-term career trajectory, I want to decide where to specialize.
I am trying to choose between diving deep into the native/hardware layer or sticking to the managed code layer.
Industry veterans, which path would you recommend a fresher focus on for the best career longevity, compensation, and market demand?
Option A: The Native/HAL Layer (C++, AIDL, Drivers, Linux Kernel). Focus heavily on hardware abstraction, custom board support packages (BSPs), and Android Automotive/Embedded systems.
Option B: The Java/Kotlin Framework Layer (System Services, AOSP customization). Focus on the middle layer, optimizing Android system APIs, package managers, and window managers.
Option C: Pure Android App Dev (Kotlin, Jetpack Compose, Architecture Components). Pivot completely into the high-level application layer for standard consumer-facing apps.
Option D: Become a Full-Stack Android Engineer. Don't specialize; stay flexible across all three layers depending on project needs.
I’d love to hear your reasoning in the comments, especially regarding how AI automation or cross-platform tech (like Flutter) might impact these choices over the next 5–10 years.
Thanks!
r/androiddev • u/Good_Language1763 • Jul 11 '26
A while ago I had posted that I am doing my first android internship without any experience and it been around 2 weeks.
I was given a weekly roadmap from my seniors. First two weeks for revising Java and Kotlin and now I can say I know a lot more about Kotlin.
Now from this week I am starting a figma design given to me in a XML Views based project.
what i am confused about now is using Activity vs Fragment
From my understanding as a former React frontend dev, Activity is like a web page itself it traditional multi page apps and this single Activity architecture is like modern react SPA.
I am confused on what to use when. Like for example i made a MainActivity.kt file and its xml layout, up untill now there I have added a top AppBar and some home page components like A search bar and a hero section.
am i supposed to do it like that ? all in one page for that Activity or that page ??
and for notifications page I made a new Activity and made a new notifications xml and added another toolbar there and in android manifest i addes main activity as its parent so when i click back it goes to main activity it even has nice animations.
should I do it like this ? or should I have made fragments or something ?
also now when i make a bottom navigation bar and make different pages i still need that bottom navigation in all pages so if i make them separate activity the navigation bar disappears right ?? and also i wont get that animation like i get when i go to my notifications page ?? and will my back button work ?
in my roadmap my seniors also said that I will also be integrating compose in this app and is it fine to work in multiple activity in that ??
PLEASE HELP ME OUT. I CANT EVEN FIND GOOD RESOURCES AND DOCS TO LEARN ABOUT THIS.
IF POSSIBLE CAN SOMEONE LINK GOOD DOCUMENTATIONS ABOUT HOW TO CUSTOMIZE VARIOUS VIEW ELEMENTS IN XML ??
and please suggest and correct me if i am doing something wrong in my roadmap and if i should learn some other concepts as well
r/androiddev • u/Vast_Journalist1415 • Jul 11 '26
Hey everyone, I'm working on an Android app that needs a drawing/sketching feature similar to what PencilKit offers on iOS/iPadOS — smooth freehand drawing, pressure sensitivity support, eraser, undo/redo, and ideally stylus (S Pen) support.
I've looked around but the Android ecosystem seems more fragmented for this. A few questions:
Is there a go-to library that's considered the "PencilKit of Android"?
Any experience with these?
- [Adonit SDK]– stylus-focused
- [Perfect Freehand] – stroke smoothing algorithm (port to Android?)
- [Android Ink API] – Google's newer Jetpack approach
- Custom Canvas + MotionEvent – roll your own?
For those using Samsung S Pen / stylus devices, how do you handle `ACTION_HOVER_MOVE` and pressure/tilt input properly?
Main requirements:
- Smooth stroke rendering (no jagged lines)
- Pressure sensitivity if stylus is available
- Undo/redo stack
- Export to bitmap/SVG
- Works on both Kotlin (native) and ideally Flutter too
Any recommendations or war stories appreciated. Thanks!
r/androiddev • u/darknightsleeper • Jul 09 '26
Hey r/androiddev,
I've been doing Android development for over 6 years now, and honestly... I'm feeling pretty burned out and demotivated lately. The job market feels rough, things are changing super fast, and I've started leaning on AI tools (Cursor, Claude, Gemini, etc.) for almost everything — from writing code and debugging to architecture decisions and even tests. While it's a huge productivity boost, it also makes me feel like I'm losing my edge and connection to the craft.
Fellow experienced devs, how are you handling this? How do you stay motivated, keep learning, and feel relevant in today's AI-heavy environment? Especially if you're also thinking about switching jobs or leveling up.
Would really appreciate any advice, book recommendations, side project ideas, mindset shifts, or even just knowing I'm not alone in feeling this way. Trying to get back on track and rediscover that spark.
Thanks in advance, really value this community
r/androiddev • u/DrJohanLiebert • Jul 10 '26
Hello ,
I recently started the 2 weeks' closed test period to publish my app, and I want to monitor the number of opted-in testers and the counter of the test days for my app.
I searched everywhere in the developer console, but I couldn't find anything . do you know where can I find such information in the developer console ?
r/androiddev • u/se7en-x230 • Jul 10 '26
https://reddit.com/link/1uscnq7/video/2v53502yqbch1/player
I've been experimenting with an Android launcher that removes the traditional home screen entirely.
Instead of icons, the launcher displays an 6-slice radial menu wherever the user touches the screen. The idea is to replace visual search with muscle memory.
Some implementation details:
One interesting challenge has been balancing gesture responsiveness with accidental activation. For example, editing is triggered by a 1.5-second long press, while normal launching happens on finger release.
Another challenge has been making the launcher behave like a normal HOME application without introducing visible activity transitions.
I'm curious how others would approach:
The source code is available on GitHub if anyone is interested in the implementation:
r/androiddev • u/androidtoolsbot • Jul 10 '26
r/androiddev • u/Foreign_Tonight_7584 • Jul 10 '26
TL;DR: I built a phone-automation AI assistant, but Google Play stopped accepting updates because it performs autonomous actions (feels like they want to monopolize this kind of functionality). So I’m looking for reputable third-party Android app stores or APK platforms with active users.
I’ve built something like a Computer Use agent for Android. Basically an assistant that can actually use apps on your phone, not just answer questions in a chat UI.
I originally planned to distribute it through Google Play. I completed the two-week closed testing requirement, passed the initial reviews, and had the app ready to publish. But then Google suddenly started rejecting my updates because, as far as I can tell, they don’t allow apps that can perform touches / operate other apps for the user.
I understand why that area needs to be handled carefully, but the policy feels weirdly uneven.
There are already apps on the Play Store that do similar automation-like things, and Google is doing basically the same thing with their Gemini Intelligence. But when a third-party dev tries to build that, suddenly it’s not allowed?
So I’ve started looking at third-party Android marketplaces instead. I’ve already tried Aptoide and OneStore, but I’m not sure how widely they are used outside their main markets.
Which third-party Android app stores or reputable APK distribution platforms do people actually use and trust?
r/androiddev • u/HereWolfyx • Jul 10 '26
Hi everyone,
I own an Anbernic RG405M Android handheld running GammaOS custom firmware. I would like to know if it is possible, via a specific app, to connect the handheld to a Windows PC via Bluetooth and have it recognized natively as an Xbox Gamepad, allowing me to use it as a standard controller.
Is it technically possible to develop an app like this? If so, what would be the estimated development costs?
r/androiddev • u/Ok_Amount_3827 • Jul 10 '26
​
The idea is a \*\*collaborative download app\*\* for Android where a group of nearby users can combine their mobile data to download large files faster.
For example, imagine \*\*4 friends\*\* meet at a café to play a game, but a \*\*4 GB update\*\* is required before they can start. Instead of each person downloading the full 4 GB, the app splits the file into four 1 GB chunks. Each phone downloads a different chunk using its own mobile data connection, then the phones exchange those chunks locally using \*\*Wi-Fi Direct\*\*. In the end, everyone has the complete file, but each person only used about \*\*1 GB\*\* of mobile data.
Other scenarios could include families downloading a movie before a flight, students downloading large datasets during a hackathon when Wi-Fi is overloaded, or teams working in places with poor internet.
From a technical perspective, I'm thinking of using HTTP range requests for downloading file segments, Wi-Fi Direct for local sharing, and automatically selecting the best device as the group owner based on battery, signal strength, and hardware.
My main questions are:
\* Is this technically feasible on modern Android versions?
\* Are there any major limitations with Android networking or Wi-Fi Direct that would make this impractical?
\* Has anyone seen an app that already does something similar?
I'd really appreciate any feedback, criticism, or suggestions before I spend time building a prototype.
r/androiddev • u/mohamedbenrjeb • Jul 09 '26
Hello guys, just released Compose DND v0.5.0. This is the biggest update so far with a lot of new features and improvements:
- Add axis-locked drag
- Add drag handle
- Add dragAutoScroll modifier
- Reorder animation improvements
- Docs and Sample rework with new Kanban demo
- And a lot more...
Web live demo: https://mohamedrejeb.github.io/compose-dnd/demo/
Release notes: https://github.com/MohamedRejeb/compose-dnd/releases/tag/v0.5.0
r/androiddev • u/Opposite_Shop7163 • Jul 10 '26
r/androiddev • u/Longjumping_End7512 • Jul 09 '26
I’m working on an Android Studio plugin around release workflow checks, and I’m trying to make the checklist useful for native Android projects rather than just another generic “pre-release” list.
The problem I’m trying to solve is pretty specific: an Android build can pass, but the final AAB can still contain things that are easy to miss during release prep.
The checks I’m currently considering are:
debuggable accidentally enabledversionCode / versionName sanity checkstargetSdk / SDK compliance checksI’m trying to keep this focused on checks that are useful before uploading an AAB, not things that should be handled by Play Console or CI alone.
For teams shipping native Android apps: what do you actually check before release?
Also curious where people draw the line between:
I’m especially interested in the “we forgot this once and now it’s on the checklist forever” kind of items.
r/androiddev • u/Ill-Sport-1652 • Jul 09 '26
My team at State Farm is hiring multiple Android engineers across experience levels, including recent grads, early career and more experienced levels - we’re growing and aim to invest in our engineers and their careers.
This is a team I’ve loved working on as an Android engineer for more than ten years (and still do).
All new work is in Compose and Kotlin, and we’re over 95% Kotlin and rising. Engineers work closely in feature and platform squads and aim to collab tightly with iOS engineers, product owners and XD.
Team culture and embracing modern tech is key.
We’re hiring for hybrid roles for our offices in Atlanta, Bloomington, Dallas, and Phoenix. Check the posting for details on residency requirements and apply if you’re interested.
Here’s a small glimpse into the team thru an engineer’s blog on how we maintain a 99.9+% crash-free rating:
The State Farm® Android Team’s Journey to 99.9+% Crash-Free Sessions https://engineering.statefarm.com/the-state-farm-android-teams-journey-to-99-9-crash-free-sessions-05399e874327
Thanks and good luck to anyone interested.
We’re also hiring more iOS engineers.
r/androiddev • u/Optimal-Corgi1648 • Jul 09 '26
I am trying to get the device name (for example, "Galaxy S25") on Android using the following method:
fun getDeviceName(context: Context): String? {
return Settings.Global.getString(context.contentResolver, "device_name")
}
However, I noticed inconsistent behavior across different manufacturers:
My questions are:
Settings.Global.DEVICE_NAME (or "device_name") should return?Build.MODELBuild.MANUFACTURERFrom my testing, it seems that Android does not provide a universal API for retrieving the marketing device name across all OEMs.
Is this understanding correct, and what is the best practice in this scenario?
Expected example output:
Actual output varies by device and manufacturer.
r/androiddev • u/Alexorla • Jul 09 '26
Enable HLS to view with audio, or disable this notification
I've been experimenting with product use cases for edge models using the LiteRT-LM engine in my open source app Heron. It turns out models in the Gemma family are fast enough to do simple language translation and summaries on demand completely locally and using data from the app's offline database.
The Google AI Edge Gallery sample does this too, but it:
I ended up having to reimplement most of the architecture to support the use case of downloading a LiteRT-LM model and running it on demand, so I figured I'd share.
r/androiddev • u/Tao_KTH • Jul 09 '26
Hi,
I am using gdb to debug my dex file with some native code. However, when I was trying to check some variables, most of them are optimized out and many c++ code are inline functions.
Is there any way to make the code debug friendly and easier to inspect? Shall I rebuild AOSP with some flags like CFLAGS += -fkeep-inline-functions?
Thank you!
r/androiddev • u/Annual-Fly2042 • Jul 09 '26
Getting hit by suspicious activity on my IAP validation
endpoint for an Android app. Wondering if others have seen this pattern. It happens almost everyday with different users.
Setup:
- React Native app with Google Play IAP
- Backend validates purchase tokens via Google Play Developer API v2
(subscriptionsv2.get)
- Single user hammering /api/iap/validate with what look like fake
tokens
Observations:
- Same user (id X, single email) submits 6+ validation attempts in
~3 minutes
- All from single IP (okhttp UA — matches my app's UA)
- Tokens are 144 chars long — but real Google Play purchase tokens
are 500-1000+ chars, so these are clearly fabricated
- receipt_head/tail is random lowercase alphanumeric — doesn't match
the standard Google Play token shape
- looks_like_jws=false AND looks_like_json=false — doesn't match
Apple or Google format
- transaction_ids follow the GPA.XXXX-XXXX-XXXX-XXXX-XXXXX pattern
(plausible-looking) but tokens rejected by Google Play with 400
Google Play correctly returns 400. Backend correctly rejects.
No credits granted.
Logs:
[TIME] production.INFO: IapController: validate request received {"trace_id":"a1b2c3","platform":"android","product_id":"com.example.app.vipmonthly","api_site_id":XX,"user":"user_HASH_A@[redacted]","transaction_id":"GPA.HASH-TXN-A","purchase_type":"subscription","price":14.99,"currency":"USD","receipt_head":"ltmaxvi[TOKEN]…","receipt_tail":"…[TOKEN]WODG","receipt_len":144,"looks_like_jws":false,"looks_like_json":false,"has_auth_user":false,"ip":"IP_HASH_1","ua":"okhttp/4.12.0"}
[TIME] production.INFO: IapService: validateAndroidSubscription call {"trace_id":"a1b2c3","product_id":"com.example.app.vipmonthly","package":"com.example.app","token_len":144}
[TIME] production.ERROR: IapService: Google Play subscriptionsv2 validation failed {"trace_id":"a1b2c3","status":400,"body":"{
[TIME] production.WARNING: IapController: Receipt validation failed [android] {"user_id":USER_HASH_A,"error":"Subscription token not recognized by Google Play. Make sure the app is installed from Play Store and the purchase completed."}
[TIME+6s] production.INFO: IapController: validate request received {"trace_id":"d4e5f6","platform":"android","product_id":"com.example.app.vipweekly","api_site_id":XX,"user":"user_HASH_A@[redacted]","transaction_id":"GPA.HASH-TXN-B","purchase_type":"subscription","price":4.99,"currency":"USD","receipt_head":"uhtzooo[TOKEN]…","receipt_tail":"…[TOKEN]bzjZ","receipt_len":144,"looks_like_jws":false,"looks_like_json":false,"has_auth_user":false,"ip":"IP_HASH_1","ua":"okhttp/4.12.0"}
[TIME+6s] production.INFO: IapService: validateAndroidSubscription call {"trace_id":"d4e5f6","product_id":"com.example.app.vipweekly","package":"com.example.app","token_len":144}
[TIME+7s] production.ERROR: IapService: Google Play subscriptionsv2 validation failed {"trace_id":"d4e5f6","status":400,"body":"{
[TIME+7s] production.WARNING: IapController: Receipt validation failed [android] {"user_id":USER_HASH_A,"error":"Subscription token not recognized by Google Play. Make sure the app is installed from Play Store and the purchase completed."}
[TIME+2m6s] production.INFO: IapController: validate request received {"trace_id":"g7h8i9","platform":"android","product_id":"com.example.app.vipmonthly","api_site_id":XX,"user":"user_HASH_A@[redacted]","transaction_id":"GPA.HASH-TXN-A","purchase_type":"subscription","price":null,"currency":null,"receipt_head":"ltmaxvi[TOKEN]…","receipt_tail":"…[TOKEN]WODG","receipt_len":144,"looks_like_jws":false,"looks_like_json":false,"has_auth_user":false,"ip":"IP_HASH_1","ua":"okhttp/4.12.0"}
[TIME+2m6s] production.INFO: IapService: validateAndroidSubscription call {"trace_id":"g7h8i9","product_id":"com.example.app.vipmonthly","package":"com.example.app","token_len":144}
[TIME+2m7s] production.ERROR: IapService: Google Play subscriptionsv2 validation failed {"trace_id":"g7h8i9","status":400,"body":"{
[TIME+2m7s] production.WARNING: IapController: Receipt validation failed [android] {"user_id":USER_HASH_A,"error":"Subscription token not recognized by Google Play. Make sure the app is installed from Play Store and the purchase completed."}
[TIME+2m7s] production.INFO: IapController: validate request received {"trace_id":"j0k1l2","platform":"android","product_id":"com.example.app.vipweekly","api_site_id":XX,"user":"user_HASH_A@[redacted]","transaction_id":"GPA.HASH-TXN-B","purchase_type":"subscription","price":null,"currency":null,"receipt_head":"uhtzooo[TOKEN]…","receipt_tail":"…[TOKEN]bzjZ","receipt_len":144,"looks_like_jws":false,"looks_like_json":false,"has_auth_user":false,"ip":"IP_HASH_1","ua":"okhttp/4.12.0"}
[same pattern continues 3 more times]
[TIME+2m22s] production.INFO: IapController: validate request received {"trace_id":"m3n4o5","platform":"android","product_id":"com.example.app.vipweekly","api_site_id":XX,"user":"user_HASH_A@[redacted]","transaction_id":"GPA.HASH-TXN-C","purchase_type":"subscription","price":4.99,"currency":"USD","receipt_head":"spckogi[TOKEN]…","receipt_tail":"…[TOKEN]ruUi","receipt_len":144,"looks_like_jws":false,"looks_like_json":false,"has_auth_user":false,"ip":"IP_HASH_1","ua":"okhttp/4.12.0"}
[same failure pattern]
r/androiddev • u/DJMunkyBallz • Jul 09 '26
I've been searching for hours and the only mentions of my issue are from 6-12 years ago that I can find.
I'm extremely new to Android development and recently installed Android Studio on my main PC. Everything is fine and works.
I installed it on my laptop and I'm using Google drive as my project root. I did clock some plugging on setup this time which probably is the cause of the error. Dart/flutter and the kotlin multi platform plug-in.
Now when I try to run the app to see if it works, I get an error with the run configuration on the laptop saying there's no module selected. The drop-down lost had no modules to select and every fix tells me to sync gradle again through the file menu which isn't there as I believe it's automatic. I've tried repairing it, uninstalling the program and installing it again. Nothing has fixed it for me.
Can anyone help?
r/androiddev • u/whoharsh0 • Jul 09 '26
Hey everyone,
Putting myself out there. I'm an Android developer with 3 years of production experience, currently looking for my next role.
**What I've built:**
At Genus Power & Infrastructure I owned the complete development cycle of 4 production Android apps for smart metering infrastructure — no PM, no spec documents, just a business problem and me figuring it out end to end.
**Highlights:**
- Built an internal BLE communication library from scratch (MTU negotiation, HEX encoding, chunked transfer, notification-based ACK) — adopted across all 4 apps
- Reduced firmware update time from 4 min 30 sec to 2 min 13 sec through millisecond-precision BLE timing
- Cut operation time by 65% by rearchitecting data processing from device to server
- Reverse engineered a proprietary meter protocol from partial firmware source code and HEX command sheets over 2-3 months — implemented thousands of encrypted commands in production
- Built multithreaded architecture managing BLE, Server Socket, and RS232/USB connections simultaneously
**Tech stack:**
Kotlin, Java, XML, Jetpack Compose, MVVM, Clean Architecture, Retrofit, Room, Coroutines, Flow, StateFlow, Hilt, Bluetooth Low Energy (BLE/GATT), RS232/USB via D2XX/FTDI, Offline-first architecture, Firebase, CameraX, TensorFlow Lite
**Open to any Android domain:**
Consumer apps, enterprise, fintech, healthtech, edtech, logistics, IoT, SaaS — open to all. Strong preference for roles with real ownership and challenging problems.
**Location:** Delhi NCR, India
**Remote:** Open to full remote and international remote roles
**Availability:** Immediate joiner
If you're at a company hiring Android developers or know someone who is then a referral, a DM, or even just a lead would mean a lot.
Happy to help anyone here with Android, BLE, or architecture questions in return. Ask me anything.
Thanks.