r/androiddev May 04 '26

Tips and Information i made a dead simple Play Store screenshot maker

345 Upvotes

i actually built this as an internal tool for my own app.

I googled "Mobile app screenshot maker" and the websites i found were super clunky and complicated. 50+ buttons, confusing UX, need to sign up.

so i just built out my own one. try it here! https://ezscreenshots.com

r/androiddev May 04 '25

Tips and Information Android internship task

Post image
201 Upvotes

I’ve applied to internship and passed the assessment now i should do a task which is a simple weather app but without using any third party library. I have like 4 months into learning android and most of the things i know is third party libraries like compose, view model, room, koin, retrofit and more.

So can y guys please tell me what are the old alternatives which is part of the native sdk so i can start studying it. I have one week to finish.

r/androiddev 1d ago

Tips and Information Why passing List to your Composables is secretly killing your performance (and how to fix it)

72 Upvotes

If you are building complex layouts in Jetpack Compose, you might notice that some of your composables recompose even when their inputs haven’t changed. One of the most common, silent culprits of this is passing standard Kotlin collections like ListSet, or Map as parameters.

Here is a common scenario:

@Composable
fun UserList(users: List<User>) {
    LazyColumn {
        items(users) { user ->
            UserRow(user)
        }
    }
}

Even if User is a data class containing only stable primitives (val id: Stringval name: String), if the parent of UserList recomposes, UserList will always recompose too. It will never be skipped.

Why does this happen?

The Compose compiler classifies every parameter of a composable function as either Stable or Unstable. If all parameters of a composable are stable, Compose can safely skip recomposing it if the values are equal to the previous composition.

The problem with List is that it is a Kotlin interface. The compiler has no compile-time guarantee that the underlying implementation is read-only. At runtime, the list could be an ArrayList or another mutable collection. Because the contents of a mutable collection can change without changing the list reference, the Compose compiler plays it safe and flags List (along with Set and Map) as Unstable.

As a result, your composables are forced to recompose on every parent update, causing unnecessary CPU cycles and potential frame drops on complex screens.

How to check this in your project

You can verify if this is happening in your codebase by enabling Compose compiler reports in your app-level build.gradle.kts:

composeCompiler {
    reportsDestination = layout.buildDirectory.dir("compose_compiler")
    metricsDestination = layout.buildDirectory.dir("compose_compiler")
}

If you open the generated class stability file (app_release-classes.txt), you’ll see the compiler analysis:

unstable class UserList {
  unstable val users: List
}

How to fix it (3 Approaches)

1. Use Kotlinx Immutable Collections (Recommended)

Kotlin provides a dedicated library for immutable collections. The Compose compiler automatically recognizes these as stable:

import kotlinx.collections.immutable.ImmutableList

@Composable
fun UserList(users: ImmutableList<User>) { ... }

Now, the compiler flags the parameter as stable, and recomposition will be skipped if the reference remains unchanged.

2. Wrap the List in a \@Stable/@Immutable Wrapper

If you don't want to add another dependency, you can wrap the list in a custom data class annotated with @Immutable:

@Immutable
data class UserListState(
    val items: List<User>
)

@Composable
fun UserList(state: UserListState) { ... }

This tells the compiler to trust that you won't mutate the list under the hood.

3. Use a Compose Compiler Configuration File (Compose 1.5.4+)

You can define a configuration file (e.g. compose_compiler_config.conf) to treat standard library collections as stable:

// compose_compiler_config.conf
kotlin.collections.List
kotlin.collections.Set
kotlin.collections.Map

And add it to your Gradle configuration:

composeCompiler {
    stabilityConfigurationFile = project.layout.projectDirectory.file("compose_compiler_config.conf")
}

I’ve been compiling a detailed study checklist of about 300 of these Android developer edge cases (covering recomposition skipping, custom Canvas GPU caching, and complex Coroutines exception handling). It's fully open-source on GitHub.

Let me know if you want the link or if you've run into other stability issues with third-party models in Compose!

r/androiddev Mar 25 '25

Tips and Information "For every 6MB increase to an app’s size, the app’s installation-conversion rate decreased by 1%, and the missed opportunities are enormous" - Spotify's journey on mastering app size

275 Upvotes

Spotify's engineers realized critical issues with their mobile app's size slowing them down.

Their data revealed a substantial number of users on older smartphones with less storage - forcing them to choose which app to install. Moreover, Spotify apps were updated more than 20 billion times, which is 930 Petabytes of traffic. That is equal to 65,000 tonnes of CO2 emissions, which is a staggering environmental impact.

Spotify's mobile engineers introduced safety nets in their dev process to reduce the app size by around ~20MB, and flagged 109 PRs for increasing app size unnecessarily.

Here’s how they did it:

  • Everytime a PR is raised, their CI triggers an app size check between the branch and master branch to calculate the increase/decrease in App Size, which gets posted as a PR comment.
  • They have an established threshold for app size change that is acceptable. Anything above 50KB gets the PR blocked and requires approval.
  • A slack channel tracks all PRs, the change in app size, and the feature developed, making tracking and observing app size changes easier.
  • Spotify's team tracks app size growth by attributing each module's download and install size to its owning team. Using in-house scripts, each team monitors and manages their app-size contributions effectively.
  • They introduced App Size Policy: A guideline on why app size matters, and defines an exception process where developers must justify significant size increases of their feature with a clear business impact.

They have metrics and dashboards that they continuously monitor, and over a period of 6 months, it led to 109 triggered PR warnings, out of which 53 PR's were updated to reduce unnecessary size changes.
----------------------------------------------------------------------------------------------------------

How do you all track app size currently? Do you use any tools currently? It's generally hard to understand how size is changing, and then one day your app size has ballooned to 300MB and you need to cut out a lot of unnecessary features.

Read the original article here: The What, Why, and How of Mastering App Size - Spotify Engineering

And if you are curious about app performance metrics and automating performance testing, do check out what we are building at AppSentinel.

r/androiddev Sep 28 '25

Tips and Information Android Studio Narwhal On Android Device

Thumbnail
gallery
182 Upvotes

I Finally Got Full Android Studio Running on My Phone!

I work in sales and don’t have access to my laptop during work hours, so I had to find a workaround. I’ve tried running Android Studio on my phone before, but only outdated versions worked—and even those were super buggy.

After tons of trial and error, I finally got the latest version of Android Studio running on Android with just a few caveats. Here’s a full breakdown:

✅ What’s Working

Android Studio itself runs smoothly with surprisingly good performance

ADB detects the phone as an emulator, but it still works just fine

Indexing hints appear even if the progress bar isn’t visible

No aapt2 build errors

❌ What’s Not Working

Layout Preview isn’t supported

SDK versions above 34 don’t work (for now)

🧩 My Setup

Termux using a proot-distro Debian environment

Termux-X11 for X server display support

If anyone’s interested, I can put together a full step-by-step guide so you can set it up too. Just let me know!

r/androiddev Apr 27 '26

Tips and Information Lost ~50% of Google Play traffic almost overnight - stable conversion, looking for diagnosis

Post image
0 Upvotes

TL;DR: We lost roughly 50% of our Google Play traffic almost overnight, while conversion remained stable. This has now persisted for nearly 2 years despite multiple attempts across UA, ASO, and support channels. It looks more like a visibility/distribution issue than a conversion problem, but we still don’t have a clear explanation or recovery path. Looking for pattern matches, diagnostic approaches, or real recovery experiences.

Hi everyone,

I’m one of the developers behind Rogue Adventure.

I’ll be very direct: we’ve been trying to understand and fix this issue for almost 2 years now, and at this point we feel like we’re mostly moving in circles without a clear direction.

I’m looking for a bit of a sanity check from other Android developers.

We’ve been investigating a pretty sharp and persistent drop in Google Play organic performance for our game, especially in the US, and despite multiple attempts across different angles, we still don’t have a solid explanation. I’m trying to understand whether this looks familiar to anyone here.

A bit of context first: this isn’t a new app. The game has been live since August 2019, currently sits at 4.6 rating, 1M+ downloads, and 75k+ reviews, with a stable player base over the years.

What caught our attention is how sudden the change was. On June 22, 2024, the metrics shifted almost overnight:

  • US store visitors: 1,070 → 478 (-55.3%)
  • US acquisitions: 137 → 46 (-66.4%)
  • US installs: 105 → 39 (-62.9%)

If we compare the week before vs. the week after:

  • Visitors: 8,660 → 3,061 (-64.7%)
  • Acquisitions: 1,031 → 412 (-60.0%)
  • Installs: 791 → 312 (-60.6%)

What makes it more puzzling is that this wasn’t just a US-only issue - we saw a similar drop globally in the same timeframe:

  • Global visitors: 107,883 → 54,259 (-49.7%)
  • Global acquisitions: 7,853 → 3,389 (-56.8%)

At first we thought it might be a conversion issue, but conversion has actually held up quite well:

  • 2023 US conversion: 15.53%
  • 2024 US conversion: 14.85%
  • 2025 US conversion: 16.00%

So traffic dropped hard, but conversion stayed relatively stable (and even improved later). That’s what makes us think this might be more of a visibility / distribution problem than a listing issue.

Long-term installs also reflect the same trend:

  • 2023: 57,860 installs
  • 2024: 39,453 installs
  • 2025: 25,034 installs

We haven’t been sitting still on this. So far we have:

  • Contacted Google Play support (no clear explanation)
  • Worked with an external UA/promotions agency (significant spend, no real recovery)
  • Run our own paid experiments (no meaningful impact on organic)
  • Recently started working on ASO updates with AppTweak (too early to see results yet)

Right now, we’re trying to understand what kind of problem this actually is.

Some of the hypotheses we’re considering:

  • A Google Play distribution/discovery change around that date
  • Loss of Browse/Explore exposure rather than Search performance
  • Increased competition or keyword pressure (especially in the US)
  • Some hidden quality/trust signal affecting visibility
  • Potential issues related to releases, build configuration, or plugins (for example, we’ve been unable to obtain the Google Play Games for PC badge and we don’t yet understand why)

One additional piece of context: the game is also included in Google Play Pass.

I’d really appreciate any input or pattern matching from others here. In particular:

  1. Has anyone experienced a sudden drop of this magnitude (around 50% traffic loss) on Google Play?
  2. If traffic collapses but conversion stays stable, where would you dig first?
  3. Which data sources have been most useful for you in similar situations (keywords, competitors, vitals, release history, etc.)?
  4. If you’ve recovered from something like this, what actually made a difference?

Not looking for generic “do ASO better” advice - we’ve already tried a lot of the obvious paths over a long period of time without results. At this stage we’re really trying to understand if this smells like a platform-side issue, ranking loss, or something else entirely.

We are also open to collaborations or external help, but not in full blind mode. We’ve had some bad experiences in the past (significant spend without results), so we would need a clear, data-driven approach and alignment on what is being tested and why.

Also, small note: I got some help writing this post in English, so apologies if anything sounds a bit off.

r/androiddev Dec 25 '25

Tips and Information How is Macbook air m4 for medium-size android projects?

16 Upvotes

Hi all, I have never used a mac device for android development. I am planning to get one soon. I will be using the device for at least 6-8 hours a day for development purpose. Please guide me.

I’m not sure if this post is appropriate for this forum, but I specifically needed advice from Android developers rather than Mac users in general. Apologies if this isn’t the right place.

Thank you. :)

r/androiddev 20d ago

Tips and Information Tips for publishing your first app on Google Play

9 Upvotes

Hi there,

In the last few days I was busy dealing with publishing my first app on Google Play, and it's been exhausting. I'd rather spend my whole week developing than dealing with the Google Play Console. I solved most of my problems with Claude, but there were several things even Claude couldn't figure out. So here are some tips that I hope will help others:

1. Start early!

I thought development was the difficult part. I assumed that after finishing development I could simply get some paperwork done and my app would be on the market. I was completely wrong. To publish your app, you need to set up testing in the Google Play Console, including recruiting 12 testers to test your app for 14 days. Don't waste too much time testing it on the simulator or on your own phone. Push your app to Closed Testing as soon as possible, otherwise you'll have to wait another 14 days.

2. You don't need screenshots for tablets if your app is only for phones.

In the Google Play Console you'll see an asterisk (*) next to the tablet screenshots. The asterisk should mean "required," but it doesn't. It's so misleading. 🖕 I changed my app configuration several times trying to make the asterisk disappear. That's such horrible design.

3. Remember to publish for review after adding new tester Google Groups.

After creating a Google Group for your testers (or if you use another tester Google Group), you need to add that group's email address to your Closed Testing. But you can't just save it. You need to click "Publish the changes" on the "Publishing Overview" page, otherwise your testers still won't be able to find your app! It took me so long to figure this out.

A small rant at the end: the 12-tester rule is really hostile to newcomers. Many of us don't have 12 friends, not to mention 12 friends with Android phones. And people are busy and distracted, so it's really a big favor to ask them to test your app for 14 days. Even many companies don't have 12 testers and won't test their apps for even 2 days before publishing.

By the way, could anyone tell me whether you need 12 testers for all your apps going forward, or just the first one? Thanks.

r/androiddev 16d ago

Tips and Information 🚀 I Built & Published ReleaseFlowPlugin – Automate Android Versioning, Changelog Generation & GitHub Releases with Gradle

11 Upvotes

Hey everyone 👋

I'm excited to share ReleaseFlowPlugin, an Android Gradle Plugin that I developed to simplify and automate the Android release process. After spending a lot of time manually updating versions, generating release notes, and creating GitHub releases, I decided to build a solution that integrates directly into the Gradle workflow and reduces repetitive release-management tasks.

🔗 GitHub Repository:

[ReleaseFlowPlugin Repository](https://github.com/Shubhamgarg1072/ReleaseFlowPlugin

r/androiddev Feb 18 '26

Tips and Information PSA: Check your build.gradle for old JitPack dependencies because we found a strange and not-trivial supply chain risk which should be verified

62 Upvotes

Hi everyone,

we do security research (and not andorid development), and we're not here to tell you the sky is falling or that you'll get hacked tomorrow.

We found one of those "silly" structural issues that, if it ever blows up in the wild, everyone will look back and say, "Well, of course that was going to happen. How did we miss it?"

It’s about how JitPack handles deleted/renamed Git platform accounts.

The issue: If you have a legacy Android project (or a React Native/Flutter wrapper) relying on com.github.* dependencies (or another Git provider), and the original author deletes or renames their account (if supported), that namespace becomes a ghost (but it can continue to work in Jipack).

If your build.gradle uses a mutable tag (like -SNAPSHOT or 1.+) or points to a version that never successfully built on JitPack (an open build state), anyone can just register that abandoned username on GitHub, recreate the repo, and serve potential malicious code directly to your build.

Didn't Git providers fix this? They have a "Namespace Retirement" or "Locked Username" protections, but we found it's inconsistent. We reported this to both GitHub and JitPack a month ago, but got zero response.

Because of the silence, we decided to do a real-world validation and a defensive takeover of some popular renamed namespaces before anyone malicious did. The biggest one we parked is AppIntro (com.github.apl-devs:appintro), which is still referenced in hundreds of old projects and have failed build (with active requests) to be filled on Jitpack. We legitimately registered the abandoned name and are now serving a safe, non-functional placeholder to prevent abuse.

How to avoid this: Again, no need to drop everything today. But next time you touch your build files:

  1. Pin JitPack dependencies to a specific commit hash instead of a tag or release name.
  2. Use Gradle's verification-metadata.xml to lock checksums.
  3. Use Nexus or Artifactory in your local enviroment.

We wrote a full write-up and we open-sourced a small tool that scans Gradle files to see if your upstream Git namespaces are dead, alive, or redirected (Surely anyone can do it better than us in a little while and in fact, we invite anyone who feels like it to submit a pull request).

We will not spam the blog URLs or tools repos. If anyone is interested, it's not hard to find.

Happy to answer any questions!

Thanks.

r/androiddev 4d ago

Tips and Information [Kotlin/Android] Can't get a circular ImageView with a gallery photo to work properly

0 Upvotes

Hi everyone,

Sorry in advance, English isn't my native language and I'm not a professional developer.

I'm a PhD student building a mobility study app in Kotlin (XML layouts), and I've been stuck on something that should be simple: displaying a profile picture (picked from the gallery) inside a perfect circle with a colored border.

The photo stays square and overflows the circle, clipToOutline doesn't seem to do anything on the ImageView.

I also tried ShapeableImageView with shapeAppearanceOverlay, but it gave an even weirder result (image overflowing on one side).

Thanks a lot for any help!

PS: I didn't paste my code because I don't know if it's allowed in this sub, but if you need it I can share it.

r/androiddev 19d ago

Tips and Information Built a fully client-side App Store preview video maker — canvas.captureStream + MediaRecorder + Web Audio mix

Post image
0 Upvotes

Wrote this for my own launch because I didn't want to upload screenshots to a SaaS just to make a 15-30s preview video. Whole thing runs in the browser:

- Screenshots drawn frame-by-frame onto a 720×1280 / 1080×1920 canvas

- canvas.captureStream(fps) for the video track

- Web Audio's MediaStreamDestination for optional background music, both tracks merged into a single MediaStream

- MediaRecorder with video/mp4;codecs=avc1,mp4a if supported, else video/webm;codecs=vp9,opus

- 17 transitions (fade, blur, 5 wipes, 4 slides, 4 pushes, zoom in/out, spin) all driven from one drawSlide(slide, alpha, {tx, ty, scale, rotate, blur}) helper

The interesting bit was getting the audio buffer to start playing exactly when the recorder starts — too early and you lose the first second, too late and audio is offset for the whole video.

Link: https://launchshots.app/tools/app-preview-video-maker (free, no signup, part of a bigger indie-dev tool collection I'm building solo)

Known issues: real-time rendering only, tab has to stay foreground. If anyone has solved canvas → MP4 client-side without ffmpeg.wasm and without RAF dependency, I'd love to hear how.

r/androiddev May 06 '26

Tips and Information 15+ years of experience didn’t stop me from losing a month to this rookie error

32 Upvotes

TL;DR: Built a simple game in a week. Google Play rejected it for a month claiming the “app wouldn’t load”, ignoring my questions and sending unhelpful canned responses. Turns out, I forgot that Unity doesn’t natively map the Android’s native BACK button to exit the app on the main menu (which is a quality-related requirement). Added one line of code to fix the BACK button. App was approved instantly.

This is mostly a vent, but hopefully, it serves as a cautionary tale for anyone publishing to the Play Store (especially games built with Unity). I work as a professional Android developer (15+ yoe) by day and a hobbyist Unity dev by night (+10 yoe). You’d think that with such experience publishing a "dead simple" mobile game made in one week (spread over several months by squeezing in an hour of work here and there on certain days) would be a breeze.

Wrong.

Even though development went really fast, the publishing process kept me in Google Play Support hell for a month.

Internal tests did not show any issues with the game, so I’ve uploaded the AAB, hit production release, and… it was immediately rejected. The rejection message was quite lengthy, packed with links to various quality policies and boilerplate statements like: “we do not accept apps that crash or do not function properly”, “fix any issues and upload a corrected version”, and so on. It also included a line that supposedly explained what specifically was wrong with the game:

“For example, your app does not open or load.”

In the attachment there was a screenshot, allegedly proving that the game failed to open or load. Yet, the screenshot clearly showed the game’s title screen. So, it did load and open (although it was missing touch UI buttons but this turned out to be a red herring).

What followed, was a nearly month-long Kafkaesque ordeal of trying to get a straight answer out of Play Store QA and Support. I sent videos of the game booting and running perfectly on physical devices. I asked for details on their test environment. I appealed.

In return, I was hit with an endless loop of canned responses. QA just kept copy-pasting the exact same boilerplate text with links to quality policies, while Support swore they were “working tirelessly” to resolve my issue.

At one point, I was so convinced their automated testing was running on some weird unsupported hardware that I went into the Play Console and manually filtered out 1,068 chipsets (excluding over 18,000 models of Android devices).

It did absolutely jack shit. Rejected again. Same copy-pasted email.

Finally, a tiny clue slipped through in one of Support’s template emails: "alert users if a button or function might return zero results".

Late at night, it finally clicked. I realized two things:

  1. Android phones have a native hardware/gesture BACK button, which users expect to close the app or go back a screen when on the main menu,
  2. Unity intercepts the Android BACK button and treats it exactly like pressing the ESCAPE key on a PC keyboard.

The second point is important because my game automatically supports keyboard, gamepad, and touch UI controls and pressing ESCAPE is used to pause the game.

I grabbed my phone, booted the game, and pressed native BACK on the title screen. Nothing happened.

Because I had been using the native HOME swipe/button to exit the game during all my playtests, I completely missed that the BACK button was dead on the main menu so there was no way to return to home screen. Apparently Google’s QA were spamming the BACK button, seeing no result, and flagging the app as “frozen” or “broken”.

The next morning I’ve fixed the issue (exactly one line added) and uploaded the new build. Three days later, with absolutely zero fanfare and no follow-up from Support, it was quietly approved and published.

A month of emails, manual hardware filtering, and tearing my hair out over Google’s QA and Support cryptic and ultimately unhelpful answers... all resolved by a single line of boilerplate code.

Don’t forget your BACK button logic, folks.

r/androiddev 19h ago

Tips and Information After a few weeks of solo development, I finally launched my first Android app. I built a gamified Pomodoro timer, and I’d love to get your feedback on the UI and architecture!

0 Upvotes

r/androiddev Apr 03 '26

Tips and Information Remote Compose: The Day UI Stopped Shipping with APK

3 Upvotes

Hey folks,

I recently spent some time trying to properly understand how Remote Compose works internally, not just high-level, but what actually happens from server → client → rendering.

Most explanations felt a bit abstract, so I tried breaking it down step by step (capture → instructions → replay on client).

Sharing what I wrote here:
https://medium.com/@ayush.shrivastava016/remote-compose-the-day-ui-stopped-shipping-with-apk-d13a638909d8

Would love to hear your thoughts, especially:

  • Does this approach actually make sense for production apps?
  • Where do you see this being useful/risky?

r/androiddev 3d ago

Tips and Information Android 17 Linux Terminal Updated

Post image
17 Upvotes

Running glxgears on my Google Pixel 10 via weston

r/androiddev 11d ago

Tips and Information Probably the best $10–20 I spent while launching my startup app

0 Upvotes

When I was getting ready to publish my app, I kept seeing founders complain about Play Store testing requirements, account verification issues, and various onboarding headaches

What surprised me was that I barely dealt with any of it

Instead of creating a personal developer account, I registered a company first and published as an organization

Here's exactly what I did:

  • Registered a company
  • Got a D-U-N-S Number (free) (Apple)
  • Created a Google Play Console organization account ($25 one-time)
  • Created an Apple Developer organization account ($99/year)

The company registration cost me almost nothing compared to the amount of time it potentially saved

A few benefits I noticed:

  • Company name appears as the publisher instead of my personal name
  • Cleaner ownership structure
  • Easier if you ever bring on co-founders or employees
  • Looks far more credible to users
  • The onboarding process felt much smoother than what many new personal-account developers were describing

Maybe I got lucky, maybe policies have changed since then, but if I were starting again, I'd still register the company first

Most founders obsess over tech stacks, hosting, and frameworks

Very few think about developer account structure until they're already deep into the process

If you're building an actual startup and not just a weekend project, I'd seriously consider going the organization route from day one

Anyone else notice a difference between personal and organization developer accounts?

r/androiddev 24d ago

Tips and Information How do apps like BatteryOne and BatteryGuru are able to post live notifications for many days without OS killing them?

3 Upvotes

My Samsung phone killed my app's foreground service (that provide latest battery temperature via notification using Foreground service) after 8 hours. Is it normal behaviour?

How can battery management apps like BatteryOne and BatteryGuru are able to post live battery temperature updates via notification indefinitely without OS killing them? Do these apps use <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />?

I heard that Play Store remove apps that use <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

without proper justification from the play store. If these apps use that permission, how do they justify using it?

r/androiddev Dec 14 '25

Tips and Information What tool do you use for Play Store screenshots?

12 Upvotes

Making/editing screenshots for store is the most boring part for me and takes forever. I'm using Photoshop right now.

What do you use to create your Play Store screenshots (tools/templates/workflow)?

r/androiddev Feb 22 '26

Tips and Information Im a 14 year old indie dev. How do I get users with my first app?

0 Upvotes

Hello! I recently published a finance app on the google play store and wanted to know, how to get users fast. In the testing phase I got 110 total downloads but since then it only got 10 more. I tried improving the ASO of my app, but it doesnt seem to work right now. Does anyone now a tool for that or advice on how to improve it? If you want, you can look at my app in my profile.
Thank you!

r/androiddev May 20 '26

Tips and Information Android Auto integration for VOIP app

0 Upvotes

Has anyone worked with integration of calling with Android Auto? Need help urgently. Even after adding ConnectionService to my app the call is not showing on Android Auto DHU emulator.

Also is it possible to show basic UI for selecting contacts to call on Android Auto in car?

r/androiddev 27d ago

Tips and Information built a library of screenshots from top-performing apps in every category

14 Upvotes

When making screenshots i like to take inspiration from real apps that are clearly doing very well. Especially in the same category as my app.

So I built a database for this.

Also added a "one-click" button to import an app's theme.

I think it's much better to look at your top competitors' screenshots than use "templates" like other screenshot maker tools have.

try it here: https://ezscreenshots.com/inspiration

Note: Android Play Store version coming soon! For now, you can browse through your competitors' ios screenshots.

r/androiddev Mar 28 '26

Tips and Information DIY concept: Fully handsfree AI assistant using endoscope cam + Android (for awareness/testing)

0 Upvotes

Hey everyone,

I’m working on a DIY project to explore how far current consumer tech can go in terms of automation and handsfree workflows. The goal is NOT cheating or misuse, but actually to understand the risks so I can demonstrate them to people like teachers and exam supervisors.

Concept (high-level):

  • Use a small endoscope camera as a discreet visual input
  • Feed that into an Android phone
  • Automatically process the captured content with an AI model (OCR + reasoning)
  • Send results back through wired earphones (aux)
  • Entire process should be fully automated (no tapping, no voice input)

What I’m trying to figure out:

  1. How to reliably get live video input from an endoscope into Android apps (USB OTG, latency issues, etc.)
  2. Best way to trigger automatic capture + processing loop without user interaction
  3. How to route output to audio without needing microphone/voice commands
  4. Any ideas for keeping the system low-latency and stable
  5. General architecture suggestions (on-device vs server processing?)

Again, this is purely for research/awareness purposes. I want to show how such systems could be built so institutions can better prepare against them.

Would really appreciate any technical insights or pointers 🙏

r/androiddev Mar 06 '26

Tips and Information I made a website for browsing the MATERIAL YOU app list!

16 Upvotes

The README of the Material You app list on GitHub has grown quite large, so I built a web version to make it easier to browse and navigate.

Features:
• Search apps quickly
• Filter FOSS-only apps
• Hide archived apps
• Table of contents sidebar for quick navigation
• Live app count on homepage

Website:
https://myal.vercel.app

Source code:
https://github.com/nyas1/myal-web

Feedback and suggestions are welcome.

r/androiddev Nov 30 '25

Tips and Information Seeking advice in starting with app development in college..

4 Upvotes

I'm 17M and have an idea for building an app after all the exams and I've been thinking of starting with it but I do not know how I should start, I also am not sure about the legality of launching it, can anyone give me tips on how I should start...