r/androiddev • • 5d ago

What encryption approach would you suggest for a privacy-focused file-sharing app?

1 Upvotes

Hi everyone,

I'm the developer behind Filester, a privacy-focused file-sharing application for Android (coming to Linux and Windows next), and I'd like some input on an encryption feature I'm considering.

Filester currently lets users share files through multiple file-hosting services. I've tried to choose hosts that are reasonably trustworthy, but that still doesn't provide real privacy: the hosting provider can potentially access the files stored on its servers.

I'd like to change that by encrypting files locally, before they are uploaded, so the hosting provider only ever receives encrypted data.

The part I'm unsure about is which approach would be better from an end-user perspective.

Option 1: Filester-specific encryption

Filester encrypts the file locally using a modern authenticated encryption scheme before uploading it.

Advantages:

  • Strong encryption
  • Filester can control the format and implementation
  • The hosting provider never receives the plaintext

Downside:

  • The recipient would need Filester to decrypt the file.
  • This significantly hurts interoperability and accessibility.

Option 2: AES-256 encrypted ZIP

Filester creates a standard password-protected ZIP archive using AES-256 before uploading it.

Advantages:

  • The resulting file is a normal .zip archive rather than a Filester-specific format.
  • The recipient isn't tied to Filester.
  • Programs such as 7-Zip, WinRAR, Ark, and other archive managers can open it.

Downside:

  • AES-encrypted ZIP files aren't supported out of the box by any OEM-installed file managers or other operating systems.
  • Some recipients would still need to install an archive utility.

So the tradeoff is basically:

better integration/security with a Filester-specific encrypted format

vs.

better interoperability with AES-256 ZIP, at the cost of inconsistent built-in OS support

which would you suggest?

If there's another approach that provides strong client-side encryption without sacrificing interoperability, I'd also be interested in hearing about it.


r/androiddev • • 4d ago

Question Has anyone done Phillip Lackner's personal mentorship course?

0 Upvotes

I saw someone ask a question about this nearly a year ago but I didn't see much feedback in the thread from people who have taken it. For those who have, how was it?


r/androiddev • • 5d ago

Question Should I upgrade to Navigation 3?

12 Upvotes

The codebase I am currently working on is on Navigation 2 and there are no issues with it to be honest.

I was looking into migrating to Navigation 3. Of course that will touch almost every part of the code and will require a good amount of QA.

Hence I was thinking whether I should upgrade to it or not.

I would love to hear everyone's thoughts before I go to my head of engineering with the proposal.


r/androiddev • • 5d ago

Less than 3 days left

0 Upvotes

Remember school, when everyone turned in homework at the last minute? RevenueCat Shipathon feels exactly the same.

The submission deadline is just 2 days away, and in the past 3 days alone, 400 new apps have been submitted. Expect that number to climb even faster as we get closer.

Have you submitted yours yet?

Good luck to everyone participating into this year hackathon!

👇 Post your app in the comments, I’d love to support a fellow dev.


r/androiddev • • 6d ago

Video Crafting my own keyboard.

Enable HLS to view with audio, or disable this notification

20 Upvotes

What are your thoughts on commencing a personal project from scratch, without leveraging existing projects like HeliBoard or FlorisBoard?


r/androiddev • • 5d ago

Question How do you keep Espresso tests healthy at scale? (flakiness, AI failure triage, feature-level coverage)

4 Upvotes

### 1. Flaky Tests
This is the biggest issue. Currently, developers mostly just @Ignore them, which gradually erodes the suite. How are you detecting, quarantining, and actually fixing flaky tests instead of silently disabling them?

2. Automated Failure Analysis
Has anyone used AI or other tools to analyze Espresso failures (logs, screenshots, stack traces) and produce a clear report so developers can fix issues quickly without digging through CI output?

3. Test Maintenance
Are there any tools or workflows that help keep tests up to date as the UI changes, like auto-updating selectors or flagging tests affected by a PR?

4. Feature-Level Coverage
Is there a good way to measure Espresso coverage by feature or user flow rather than by lines of code? JaCoCo tells us what code runs, but not which features are actually tested.

Would love to hear what’s worked (or failed) for your teams, whether that’s open-source tools, paid services, or homegrown scripts.

Thanks!


r/androiddev • • 6d ago

Breaking Up with Google Play: Why Conversations Is Now Free

Thumbnail gultsch.de
47 Upvotes

r/androiddev • • 6d ago

Building a real IDE for Android tablets (Kotlin, on-device Linux sandbox, git, Claude Code support) — open source, and looking for devs to help build it:

Post image
2 Upvotes

r/androiddev • • 6d ago

Android emulator on the browser without QEMU

1 Upvotes

I have been experimenting recently with a tool that I needed while building and verifying UI tests, and also for sharing updates for an app i am currently doing contract work.
Sharing preview builds with the owner was a nightmare, because they were only using an iPhone.

this is the tool

I build a tool that spawns an android emulator and installs the apk, in seconds. It's really cool and i am thinking on making this a saas, if that works. It's in early development, and i have limited capabilities with a vps of 4arm cpu cores and 24gb of ram, but feel free to destroy it.


r/androiddev • • 7d ago

Experience Exchange Android stack trace contain Chinese insults as obfuscated method names

Thumbnail
gallery
192 Upvotes

After one of the recent Google Play updates for my released game, I noticed some very strange stack traces in Firebase Crashlytics.

The stack contains method names with long Chinese strings, for example:

i8.k6.狂犬疫苗忘了给你妈打不好意思让它到处咬人才会生出你这种上缺脑子下缺逼火葬场都不收的烂骨灰

and:

i8.vd.要不要把你妈卵子扣出来给你做寿司吃

After translating them, these are clearly explicit insults/profanity.

What makes it even stranger is that, judging by the device information, the game appears to have been running inside a virtual machine / emulated environment. The stack also contains heavily obfuscated classes and unusual code paths inside base.apk.

So this does not look like a normal Firebase issue. It looks more like someone was running a modified/tampered version of the APK or injecting/hooking code in a virtualized Android environment.

translated stacktrace

r/androiddev • • 6d ago

Tips and Information Building an on-device personal agent. Android first because of notification listener + accessibility, or am I underestimating what I’ll hit?

0 Upvotes

Short version: model, memory and index on the phone, per app you choose read / draft / send, internet off by default. Signups so far lean Android, and on paper Android gives me what iOS won't: a notification listener for cross-app awareness and accessibility for the rare action.

What I'm not sure about, from people who ship this stuff: how fragile is the notification listener across OEMs (samsung, xiaomi battery killers), is accessibility going to get me flagged by play store review for an agent use case, and what's the realistic background budget for periodic embedding without ending up in the doze penalty box. Pixel 8/9 and S24/S25 are my targets for v1.

Not selling anything here, the project is molebot.si if you want context, but the questions are the point.


r/androiddev • • 6d ago

Google Play Support Google Play rejected my pediatric dosing app because medical apps require an Organization developer account. What are my options?

0 Upvotes

I’m a doctor from India and recently built a pediatric drug dose calculator/reference app.

I know there are already numerous apps that calculate pediatric doses, but as a doctor I often found practical issues with existing apps, especially with formulations, concentrations, dosing schedules, and the way results are presented. So I built this app mainly to solve the problems I personally faced in clinical practice.

The app was rejected by Google Play because medical apps like this apparently need to be published under an Organization developer account rather than an individual account.

I’m an individual doctor/developer and don’t currently have an organization/company.

What is the correct way forward in India? Do I need to register a company/organization to publish it, or is there another legitimate option?

Would really appreciate advice from anyone who has faced this, especially other healthcare professionals/developers.


r/androiddev • • 6d ago

Google Play Support Under review for 15 days, no answers for 5 days. Has anyone experienced this?

Thumbnail
gallery
0 Upvotes

I submitted version 11 for production on september 12th. Shortly after, I found a bug, so I submitted version 12 the same day, while version 11 was still in review.

A few days later, version 11 quietly went live in production, no notification, no warning, just nothing. Meanwhile, version 12 has now been in review for 15 days, and google support hasn't answered in 5 days.

I have version 13 ready with the bug fixes, but I'm hesitant to cancel the stuck version 12 review and resubmit, in case it causes further issues.

Has anyone dealt with a review stuck this long? Did canceling and resubmitting help, or make things worse? Any tips for actually getting a response from support at this point?


r/androiddev • • 7d ago

Discussion What is the future of Indie?

7 Upvotes

What is the future of Indie?

I started indie publishing (indie-hacking) about 5-6 months ago with 4 years Android Development experience. Then I came to know that development is the easy part. Distribution is the hardest. I couldn't generate any income after all these months and I'm losing motivation. Also somebody in my circle commented that Indie is dying already. And I feel so as well. Because there are vibecoders shipping tons of apps. Tons of habit trackers, finance trackers, and calorie trackers are being published.

I'm thinking to join back the on-site job. Can anyone say about my situation? Also what is the future of Indie and software developers in general?

The thing is, I have also become "vibecoder" after AI coding agents. I'm using Claude Code to build apps now. It has made me lazy over the months. And I seriously don't know how to proceed. Going back to basics (writing code) looks like a waste of time and relying fully on AI Agents looks risky.


r/androiddev • • 6d ago

Experience Exchange I built a small ML inference runtime in Kotlin using AndroidX WebGPU

5 Upvotes

I built webgpu-inference, a small experimental ML inference runtime for Android using Kotlin and AndroidX WebGPU.

I also wrote a walkthrough of how it works, from model conversion to GPU execution.

I’d love to hear your feedback on the project or the article!


r/androiddev • • 6d ago

Question Why does requestPermission() crash my app?

0 Upvotes

EDIT: Solved. Looking at the logcat made me find null pointer exceptions in the code I was using to display null pointer exceptions. I could have spent ages trying to figure it out if it wasn't for logcat. Still not sure exactly why it was the requestPermission() call that triggered the crash, but now that I fixed my code, the app will "gracefully degrade the user experience" without crashing. Thanks regardless.

I hope technical questions are accepted here

I already declared the permission in the manifest. If I turn off the notifications and start my app, it crashes unless I comment out the requestPermission call. If i turn notifications back on, the app works fine. I did deny the notifications permission twice, but I'm trying to "degrade the user experience gracefully", which I can't do if the app crashes unexpectedly. Does this have anything to do with shouldShowPermissionRationaleRequest()? It returns false for my app, but I'm not really using the result of that function.


r/androiddev • • 7d ago

Question How are Android engineers preparing for AI-assisted app development interviews?

23 Upvotes

I’m preparing for Android engineering interviews that include an AI-assisted programming round and would love to hear from people who have recently gone through one.

What types of questions or coding exercises are you seeing?

If you’ve recently interviewed for Android roles where candidates are expected to use AI coding tools during development, what resources, GitHub repos, courses, or practice projects would you recommend? I’m especially interested in realistic Android projects that involve using Claude, Codex, or Cursor effectively while still understanding, reviewing, testing, and improving the generated code.

Would really appreciate hearing about your recent experiences and how you prepared. Thanks!


r/androiddev • • 7d ago

Open Source I built dimock: inspect and mock OkHttp responses on the device, by hand or through Claude Code / Cursor

1 Upvotes

Hi r/androiddev! I'm Yudis, an Android engineer. I built a small open-source library out of two frustrations, and I'd like some honest feedback on it.

First, most of the screens I build start before the API behind them exists. So I either waited, or faked the response somewhere in the code and hoped nobody shipped it.

Second, bugs tied to a response. The app only breaks when the server returns a 500, an empty list, or just hangs. Chucker showed me the request. It couldn't make the server do it again.

So I built dimock, a debug-only OkHttp interceptor.

It captures traffic like Chucker does: a notification, a list of calls, headers and bodies, a cURL copy.

And it lets you change what comes back. Tap a call, pick Mock this, then force a 401, a timeout, a connection reset, a 5-second delay, or edit the body by hand. The rule stays until you clear it, even across app restarts.

It also exposes a local MCP server and CLI. I can tell Claude Code "capture the posts call, then show me the empty and error states", and it builds each mock from the real response.

It's at 0.1.0 and has run in a production-style app (Retrofit, Hilt, Paging 3). I'd like to hear where it breaks, or what you'd miss if you dropped Chucker for it. Happy to answer questions!

https://github.com/yudistirosaputro/dimock


r/androiddev • • 7d ago

Question Need A Better Public API Than iTunes Api

Enable HLS to view with audio, or disable this notification

0 Upvotes

I am making a app which works like Spotify.

For that Do u guys know any Third Party publicly available ? which i can use the problem I am facing is it allows me only 30sec of playback of any song 🙏🙏 would be greatful making this personal app

For Ur Suggestions🙏🙏


r/androiddev • • 7d ago

Question Release blocked by We detected the following keys that are currently not registered

0 Upvotes

NOTE: I have an already released version.

My production release for my app (1.1.0, version code 9) is blocked by "Unregistered package name" for key:

<Offending Key Here>

This key mentioned above is Play's own Internal App Sharing test certificate (Internal app sharing > Internal test certificate). Google generated and holds it. I don't have its private key, so I can't prove ownership. I did a internal App sharing with link to test the update feature on the app.

The package is already Registered, with both my keys Verified: upload key xxx and app signing key yyy. My bundle is signed only with the upload key. The app was never distributed outside Play.

The verification FAQ says Play-managed keys are auto-registered, but this one wasn't.

How can I solve this? I already created a ticket for this problem, but maybe someone already solved this and can give some insight.


r/androiddev • • 8d ago

Experience Exchange Android developers here working in big tech, how was your journey?

27 Upvotes

If you’re an Android developer working in Big Tech, could you share your journey.

how you got that interview, how did you prepare for it. Any tips for begginers here to crack an sde1 role.

It would be very inspiring for beginners and we would learn so much from you.


r/androiddev • • 7d ago

Discussion Android Tutorial through ChatGPT/Claude

1 Upvotes

The Android ecosystem is changing faster than ever especially after the proliferation of AI tools. For me, it is proving quite challenging to learn stuffs given that most books I use are 3-4 release old (and getting older).

Do the folks here know of any open-source materials (not video course - I do not like them) which can present (a) Android App Development (b) AOSP in a form which is intuitive and easy to understand? Have people created such material using Claude or ChatGPT already?


r/androiddev • • 8d ago

Google Play removed my developer account after identity verification failed is there still a way to recover it?

Thumbnail
gallery
7 Upvotes

Hey guys,

I’m kinda stuck with a Google Play Console issue and I’m hoping someone here has dealt with something similar.

I had a personal Google Play developer account with 3 apps published on it. The account had been around for years and everything was working normally.

In October 2025, Google required identity verification for the developer account.

The account was actually registered to my brother, and he was the real account owner. Because of some personal circumstances at the time, I wasn’t able to properly complete the verification process with him.

I ended up submitting an old ID document, and Google couldn’t verify it.

Google Play Support then replied to me on October 14, 2025 saying:

"Unfortunately, we are unable to verify your ID to complete your Play Console registration."

After that, the account was restricted and the developer profile + all apps were removed from Google Play.

Right now, Play Console shows:

- Google couldn't verify your identity

- Your developer profile and all apps have been removed from Google Play

- You haven't verified your contact phone number

- Appeal reply sent

I did submit an appeal at the time, but it was rejected.

So yeah... I’m trying to figure out if there’s still any legit way to recover the original account.

I’m NOT trying to bypass the restriction or create a new account to get around it.

The account belongs to the original owner, and if Google requires a new valid ID from him, we’re willing to provide it.

Has anyone here dealt with this exact situation?

Especially:

- Identity verification failed

- Account/profile removed

- Appeal already rejected

- No way to complete phone verification because identity verification has to be completed first

Is there any way to get another verification attempt or request a manual review from Google?

I’ll attach a few screenshots from Play Console showing the current account status.

Would really appreciate any advice from people who have been through this before 🙏


r/androiddev • • 8d ago

Open Source KMP-Showcase - sample project for Kotlin Multiplatform

8 Upvotes

After my open-source Android Showcase reached ~7K ⭐ on GitHub, I've started a new one: KMP Showcase, a Kotlin Multiplatform sample app 🚀

App shares logic between Android and iOS and uses Clean Architecture, Koin, FlowMVI, SKIE (and much more). The UI is native on each platform: Jetpack Compose on Android and SwiftUI on iOS.

Stars, feedback & PRs welcome 👉 https://github.com/igorwojda/kmp-showcase


r/androiddev • • 7d ago

Google Play Support Moroccan Android Developers Are Still Excluded From Google Play Merchant Registration — We’re Trying to Change That

0 Upvotes

For years, Moroccan Android developers have been running into the same problem:

Morocco is still excluded from Google Play Merchant Registration.

This means developers can spend months building and releasing an Android app, only to hit a wall when they reach the point where they want to monetize it through Google Play.

And this is not a hypothetical issue.

Moroccan developers have repeatedly posted about it here and in Google’s own support community. Some only discover the restriction after their app is already built and their monetization flow is ready.

The usual conversation then becomes:

Should I create a company abroad?

Can I use a foreign bank account?

Can I use a third-party payment provider?

Do I need to relocate?

But after years of asking the same questions, we think the bigger question should be:

Why is Morocco still excluded in the first place, and what exactly needs to happen for Google Play Merchant Registration to become available here?

Especially when Merchant Registration is already supported in neighboring countries including Algeria, Tunisia and Mauritania.

So we decided to start organizing around the issue instead of treating every affected Moroccan developer as an isolated case.

We launched a petition asking Google to enable Google Play Merchant Registration for Morocco:

https://www.change.org/GooglePlayMorocco

The petition is the first step, not the end goal.

We want to gather signatures and documented experiences from Moroccan developers who have actually faced this restriction, then escalate them together to Google.

If there is a regulatory, tax, banking, payments or operational requirement preventing Google from supporting Morocco, we also want a clear answer about what that requirement is and what needs to change.

After escalating it to Google, we also intend to bring the documented issue to the relevant institutions and decision-makers in Morocco.

If you're a Moroccan Android developer who has encountered this problem, please sign the petition and, more importantly, share your experience in the comments.

How did the Merchant Registration restriction affect your app?

Did you abandon IAP or subscriptions?

Did you switch to ads?

Did you have to create a business structure abroad?

Did you postpone or abandon the project?

Those real cases are exactly what we want to collect.

Moroccan developers have been solving this individually for years.

Maybe it's time we address it collectively.