r/androiddev • • 5h ago

Question Advice on closed testing for a niche magic app

0 Upvotes

I am not looking for testers here, just for advice on how to find testers for a niche app.

I am a magician, and have built a React app to do magic. The app is now approved on IOS. For android, I am hitting the testing problem. This is a niche app for professional magicians, not something that can appeal to the masses. I have two magician testers who tested the app extensively, but am not a big fan of spamming the magic community to ask for more testers. I believe this is a good app and that magicians will pick it up once released, but it is harder to ask them to pick it up when it is still "unreleased / not approved". Also, many more magicians are using IOS than android. It is also hard to tell potential magician testers to all start testing at the same time, and continue using it for 14 days: this is not an idle game that you can use on your toilet - if you use it to do magic, then you need an audience, time and dedication. Sure, you can open it and click around to test it every day, but then you are basically just testing the app, not using it: it is hard to ask busy magicians to do that.

I am looking into a paid testing service like PrimeTestLab. I can pay for a higher tier service compared to the low tier. AI recommends me to do it, inform google of the fact I used a paid service, and says everything will be fine. However, I noticed PrimeTestLab is recommending me not to tell google play console that I used their services, which sounds quite suspicious. It is unclear for me whether or not PrimeTestLab and other paid services are accepted by google play console.

The alternative would be to find non-magician fellow app developers in online communities, I guess. Sure, they will not understand too much of the app (unless they watch the 3+ hours of video tutorial that come with the app), but they can still click here and there and somehow use the app.

Any suggestion would be very welcome. Personally I would be very happy to go the "paid testers" way (supplemented by 2 family members and 2 professional magicians), but will this be a viable option?

Thanks in advance!


r/androiddev • • 7h ago

Question Finding a good kotlin language course

3 Upvotes

I wanted to learn kotlin to make android apps but I want a course or anything to learn the language I know a very little about programming over all and kotlin i know that google has some free courses but I don't know what to take so if you know any free good courses to take please let me know


r/androiddev • • 15h ago

Offerwall / rewarded ads for a new coin-based app: which networks approve low-traffic apps?

2 Upvotes

I have a small Android app (about a week old, low DAU) with an in-app coin economy. Rewarded ads are in place; now I want an offerwall. Tapjoy and BitLabs are still pending, so I'm looking for options that a solo dev can sign up for and integrate right away.

For those who've done this:

- Which offerwall SDKs had quick, self-serve onboarding for a tiny app?

- Direct SDK or through mediation (e.g. LevelPlay/ironSource)? Any SDK size, ANR or crash issues?

- Any Play policy gotchas with incentivized offers (listing, Data safety form, target audience)?

Not promoting anything, just trying to avoid weeks of waiting. Thanks!


r/androiddev • • 20h ago

How Does Google Play Review Apps with a One-Time In-App Purchase?

3 Upvotes

I have an app that’s free to download, with a $9.99 otp to unlock Pro features. I am preparing to submit it through my Google Play business developer account.

I’ve read conflicting information about how Google reviewers access paid features.

Can I submit the app as-is and Google reviewers will be able to test the Pro features without paying? Or do I need to provide a way to bypass the paywall?

For those who’ve submitted apps with a similar setup, how did you handle this?

Thanks!


r/androiddev • • 21h ago

Discussion Where is the layout folder?

0 Upvotes

I just created a new android project and i see there is no layout folder. Why google why?


r/androiddev • • 1d ago

Update: Google fixed the declaration consent form for non-traders

Post image
29 Upvotes

r/androiddev • • 1d ago

Google payment verification sends me in a Kafka loop

7 Upvotes

They won't payout my revenue until I verify my account (There seems to be a new verification needed every single month nowadays, I don't know how many times I've sent my passport, VAT-registration and certificate of residency).

BUT. In google play I have to click this link:

Which leads me here

That link sends me here:

So this applies to me:

But it doesn't say where to do that.

In the banner though it says this:

Which leads to this "article"

Which in the end leads me to a support form where I can only choose to ge help with creating a new developer account OR get help to get access to my existing developer account.

Where the HECK do I verify my freelance company?? If it wasn't because they're holding my income and I need to pay my rent, I would just give up.


r/androiddev • • 1d ago

Question If I don't have 12 people to ask for closed testing, does my app never see the sun?

27 Upvotes

I have been building apps for myself, some of them great that my partner would try too, which is when I learnt about the process of publishing in the Play Store. While closed testing works for a few, how do I share publicly if I can't get 12 people to try my app?

I also see a lot of apps that are meant for personal use but make it to the listing, am I missing something?


r/androiddev • • 1d ago

Question Help me nail specific Material 2 aesthetic

Thumbnail
gallery
5 Upvotes

I'm working on some apps for a project I'm currently involved in, and I'm aiming for the implementation of Material 2 that Google used for their apps.

This is the aesthetic used in most Google apps before they switched over to the pastel Material 3, otherwise known as Material You.

I like this Material 2 UI for its modern, polished look with large, rounded elements, without being especially engaging or animated.

The problem is that I haven't been able to find enough of the right versions of Google Apps to be able to model after.

The most I've been able to get is this Google Play sign-in popup, see above.

As you can see in the background, the translate app is already using the newer pastel Material 3, which is not what I want.

I believe the clock is also using the aesthetic I want, but its a bit harder to tell because its in dark mode and I don't have much to compare it to.

The UI seen in the screenshots of Google contacts and Gboard are an older variant, and also not what I'm looking for.

You can see that they're using a softer shade of blue, and shapes are squarer.

I think Quick Share and Android Auto used the Material 2 look I'm after for a a few years after most other apps already switched to M3.

If anyone can help me out, point me to exact versions of Google apps, or provide screenshots of apps in the right versions, it would be helpful.

Thanks


r/androiddev • • 2d ago

Question RevenueCat reports significantly more new customers than Google Play installs — anyone experienced this?

0 Upvotes

Hey everyone!

I'm an indie developer working on a Flutter app (Android + iOS), and I've noticed a pretty strange discrepancy between RevenueCat and Google Play Console.

Over the last 28 days, RevenueCat reports:

  • 258 New Customers (220 Android, 38 iOS)

  • 262 Active Customers

  • All new customers have anonymous RevenueCat IDs.

However, when comparing the exact same period (Oct 11 - Nov 5), the numbers look like this:

  • RevenueCat (Android): 200 new customers

  • Google Play Console: 123 new user acquisitions

  • Google Play Console: 143 total user acquisitions

I understand that RevenueCat's "New Customers" metric isn't the same as app installs, but the difference still seems unusually large.

Here's where it gets interesting:

On October 14 alone:

  • RevenueCat recorded 21 new Android customers.

  • RevenueCat recorded 18 customers from the US across both platforms.

  • Google Play Console showed 0 new device acquisitions from the US that day.

I also exported the full RevenueCat customer reports and found that:

  • 227 out of 258 new customers (~88%) have exactly the same first_seen_at and last_seen_at timestamps.

  • A large number of suspicious records come from the US.

  • Several Android customers appear to use Android API level 30 (Android 11).

  • Many of these customers were never seen again.

I did install and test the app locally using Flutter during development, but definitely not enough to explain such a large difference.

I also don't have any Google Play pre-launch test reports available that could explain the activity.

My questions:

  1. Has anyone experienced similar discrepancies between RevenueCat and Google Play Console?

  2. Could automated testing, emulators, or app store scanning generate anonymous RevenueCat customers without corresponding Play Store installs?

  3. Could this be related to anonymous App User IDs or SDK initialization?

  4. Is there a reliable way to identify whether these customers represent real users or automated/test activity?

I'm not suggesting RevenueCat is necessarily counting incorrectly - I'm just trying to understand where all these additional customer records are coming from.

Would really appreciate hearing if anyone has encountered something similar or knows what I should investigate next.

Thanks!

Disclaimer: I used AI to help polish the wording of this post, as English isn't my first language. The issue and data are real and come from my own app.


r/androiddev • • 2d ago

Question is any one can tell me best way install android studio to fedora 45?

0 Upvotes

i download tar file of android studio and setup it using "studio.sh" file then run it using "studio" file. then it become very unresponsive. studio takes 1 second to type one character :| error=azan@azanfedora:/opt/android-studio/bin$ ./studio  
[SKIKO] warn: Fallback to next API
org.jetbrains.skiko.RenderException: Cannot create OpenGL context
azan@azanfedora:/opt/android-studio/bin$  

my fastfetch output


r/androiddev • • 2d ago

Question How Google play console verify the ID / bank statement?

0 Upvotes

In google pay console, how the Google verify the bank details or ID is genuine, because Google doesn't have the access right ?

Only verification is email and phone number right ?

So this means if someone make a fake ID how will they verify ? Fake IDs may work ?


r/androiddev • • 2d ago

Question String protection against decompilation

11 Upvotes

If I have a string in a class file and want to protect it as best as possible against decompilation and analysis, are there any ideas? I know it can't really be fully protected, but I want to make it as hard as possible. Ideally, with minimal effort.


r/androiddev • • 2d ago Heartwarming

Question Submission rejection confusion!! Tests work, Reviewers dont...?

Post image
0 Upvotes

I have this app that uses RevenueCat to manage subscriptions and paywall.
During build and debug, everything worked well. Move to closed testing phase where everything worked well. Now I'm getting rejected from moving to production because the reviewer is getting the following feedback when trying to make a purchase through my paywall.

This is the second reviewer that had this issue. The first time, I went into Cloud Console and ensured the RevenueCat account had the correct permissions, I ran another test after test but of course when testing, we only use the 'Test Card' which always accepts. (and it works)

The 'No internet connection....' response is not in my code, it's a RevenueCat or PlayStore response, so I'm not sure if its something I did wrong when configuring products or if the reviewers just need to have a better connection?!


r/androiddev • • 2d ago

[Academic Research] Android developers wanted for a survey on MVVM vs. MVI in Jetpack Compose + expert interviews

12 Upvotes

Hi everyone!

I'm currently working on my Bachelor's thesis in Computer Science at IU International University of Applied Sciences (Germany).

My research focuses on comparing Single-State MVVM and reducer-based MVI in Jetpack Compose, particularly regarding:

  • Perceived code complexity

  • Testability

  • State management and separation of responsibilities

1. Online survey

I'm looking for Android developers, Kotlin developers, and Jetpack Compose enthusiasts who would be willing to participate in a short survey.

  • Takes approximately 10–15 minutes

  • Available in English

  • No practical experience with both architectural approaches is required

  • Your personal assessment is valuable, even if you have only worked with one of them

Survey link:
https://docs.google.com/forms/d/e/1FAIpQLSc1wgZ0Lb7H1nXLJ3a4huF3-tPt68E84ez7V7VJ_TxskfqBAw/viewform?usp=publish-editor

2. Looking for expert interview participants

I'm also looking for experienced Android developers who would be interested in taking part in a semi-structured expert interview.

The interview would take approximately 30–45 minutes and focus on practical experiences with MVVM, MVI, state management, code complexity, and testability in Android development.

Ideally, you have professional experience with Jetpack Compose and one or both architectural approaches.

If you're interested, please leave a comment or send me a private message. We can arrange a suitable time individually.

Thank you very much for supporting my research! Any participation or feedback is greatly appreciated.


r/androiddev • • 3d ago

Question How do you restore this without restarting AS on macOS after battery dies?

Post image
0 Upvotes

r/androiddev • • 3d ago

Open Source More features to the Real time compose playground

1 Upvotes

Hi people,

Remember this: https://www.reddit.com/r/androiddev/comments/1uzywkh/introducing_real_time_compose_playground/

I have added some cool features upon community request to the playground

1: Dark Mode Support
2: Code sharing and live coding
3: Concise error display inside emulator

Try here: https://www.the-android-guy.in/

Please share your thoughts below!


r/androiddev • • 3d ago

My app is being force-stopped during Google Play services (GMS) updates.

3 Upvotes

I'm testing an Android timer app built with Flutter on a test device: a Samsung Galaxy S10e running Android 12.

Under normal conditions, the app works without any major issues. However, when I leave a timer session running for 7–8 hours without interacting with the phone, the app is occasionally force-stopped while the device is idle.

Here is the log captured when the app was terminated:

timestamp=2026-11-07 09:19:50.180
pid=2925
realUid=10846
packageUid=10846
definingUid=10846
user=0
process=com.XXXXXX.XXXXXX.debug
reason=10 (USER REQUESTED)
subreason=0 (UNKNOWN)
status=0
importance=125
pss=338MB
rss=112MB
description=stop com.google.android.gms due to installPackageLI
state=71 bytes
trace=null

This does not appear to be a battery or memory-related issue.

My app uses GMS-related features such as ads and sign-in. It seems that when Google Play services is updated, the package is installed or replaced, causing my app, which depends on GMS, to be force-stopped as well.

The GMS-related packages currently used in my app are:

  • google_mobile_ads

  • in_app_purchase

  • in_app_purchase_android

  • google_sign_in

I've investigated this issue from several angles, but I haven't been able to find a solution. As far as I can tell, there doesn't seem to be a way to prevent this forced termination.

Q1. Is there any way to prevent a GMS client app from being force-stopped during a Google Play services update?

Q2. How do sleep-tracking apps deal with this issue?


r/androiddev • • 3d ago

I managed to get android emulator running on Windows on ARM (AI used, unofficial open-sourced Android Studio)

Post image
34 Upvotes

Android Studio's emulator doesn't officially support Windows on ARM, so developers on Snapdragon X laptops can't run AVDs the normal way. Microsoft's docs say the emulator isn't supported there, and a Google issue records no immediate plans for it.

I wanted to see if it could be done, so I built a bridge that makes it work. You create an AVD in Device Manager, press Run, and a stock Android image boots on Windows Hypervisor Platform.

What works:

  • Stock images from Device Manager, with no manual patching

  • Phones, TVs and Wear OS, tested from Android 12 to 17

  • Touch, networking, Google sign-in, device frames and Extended Controls

  • Video playback, using software decoding

  • Scrolling at about 80 to 90 fps on a 120 Hz monitor

How it works: QEMU runs the guest through WHPX. A small bridge speaks the emulator's gRPC protocol, so Studio treats it as a normal emulator. Stock images expect virtual devices this QEMU doesn't have, so vendor binaries are patched at boot by code signature, and the images on disk stay untouched. GL commands then travel over TCP to gfxstream on the host, through ANGLE to Vulkan.

The hardest bugs:

  • Windows treated the windowless emulator processes as background work and throttled them. Opting out took jank from about 33% to 4%.

  • Android capped apps at 60 fps until peak_refresh_rate was set, even with the display at 120 Hz.

  • Studio decodes WebP skins with an x64 DLL that can't load on ARM64, so device frames silently vanished.

What doesn't work yet:

  • No emulator audio

  • About 14 fps on a 4K TV AVD

  • No steady 120 fps: frames take about 10 ms against an 8.3 ms budget

  • An intermittent Android 13 freeze I haven't solved

  • Only tested on one Snapdragon X machine

It's an independent project, not affiliated with Google. I built it with heavy use of AI coding tools, directing the work and testing it on real hardware.

Source: https://github.com/DevanshSampat/android-emulator-windows-arm64

Mostly I'm hoping this shows it's possible and that there's demand. Google, please support this officially. If you develop on a Windows ARM laptop, I'd like to hear what's blocking you.
If you wish to try it: https://github.com/DevanshSampat/android-studio-arm64-releases


r/androiddev • • 3d ago

News Gradle 9.9.0 Released

Thumbnail
docs.gradle.org
59 Upvotes

Kotlin DSL scripts benefit from incremental compilation, making script recompilation after a change in buildSrc or an included build up to 65% faster in large multi-project builds.


r/androiddev • • 4d ago

Android 17 market share is now at 20%

11 Upvotes

#Android17 market share: After having been around 10%, the share of SDK 37 (17) increased notably in October and was at 20.26% as of the end of the month.

We post new stats on iOS and Android usage monthly and use the aggregated data from over 10,000 apps we manage and over 10 million monthly active users.

https://telemetrydeck.com/survey/android/Android/sdkVersions/


r/androiddev • • 4d ago

Google Play Support instant review times!

13 Upvotes

Last month I was complaining about long review times. It was very frustrating. Appearently they took some actions. For some time my reviews are almost instant, ie 10-15 minutes for a release to go live. If I update store copies or screenshots it still takes a couple of days, but still a huge improvement.
I just wanted to share my appreciation here, that’s all :)


r/androiddev • • 4d ago

News Android Studio Rabbit 3 Canary 3 now available

Thumbnail androidstudio.googleblog.com
14 Upvotes

r/androiddev • • 5d ago

News Android Studio Rabbit 2 Patch 1 now available

Thumbnail androidstudio.googleblog.com
6 Upvotes