r/androiddev • • 41m ago

Discussion I built an open-source Android app around the ByeDPI engine (written with AI, feedback welcome)

• Upvotes

I made an Android app that runs the open-source ByeDPI engine locally and routes the phone's traffic through it using Android's VPN service. It's designed to help with DPI filtering that interferes with connections.

Full disclosure: This project was written with AI. All code and documentation were generated by Claude (Anthropic) based on my requirements, and I built and tested it through GitHub Actions. The project has not been audited, so please review the code before trusting it. So far, it has only been tested by me on my own phone and network.

What it does Compiles the upstream ByeDPI C code with the Android NDK and runs the actual engine, not a simulation. Uses a local proxy (127.0.0.1) and tun2socks tunnel (hev-socks5-tunnel) through Android's VpnService. Only shows a connected status after verifying the proxy, VPN interface, and tunnel. Provides settings for desync method, position, fake TTL, TLS record splitting, automatic mode, and custom arguments. Includes a diagnostics screen with an in-memory log and a TLS connectivity check through the proxy. No hosts or traffic details are logged. Has a dark UI with no ads, analytics, or accounts. What it doesn't do It does not encrypt traffic or hide your IP address. It does not bypass DNS blocking. There is no universal strategy that works for every ISP. You may need to experiment with different settings. Technical details Android: 8.0+ Architectures: arm64, armv7, x86_64 Build: Debug-signed APK (uninstall older builds before updating) License: MIT. ByeDPI and hev-socks5-tunnel are also MIT-licensed.

Repository: https://github.com/Mireli5656/Byedpi

APK: Available under Releases on the repository page.

Feedback and bug reports are welcome! If something doesn't work, use the Copy button on the Diagnostics screen to share a log. It contains no traffic details.


r/androiddev • • 1h ago

Tips and Information Always ask!

• Upvotes

Last year, I built Cookie Voice Recipes for iOS with no idea if anyone would actually download it.
Thousands of downloads later, the question I get more than any other is:
“Is this available on Android?”

So I started building an Android version but I got stuck.

There’s no native wake-word detection on Android, and the leading solution in the market charges $$$$$ to create a custom wake word. That’s just not a feasible expense for an indie developer building a cooking app.

But I found another option: DaVoice.io
They didn’t list their pricing publicly, so I figured… here goes nothing.

I reached out and explained what I was building: a cooking app designed to help people who are blind and vision impaired be more independent in the kitchen. I asked if they might be willing to do a good deed and help make the Android version possible.

They donated their technology to me.
Not only that, but it works really, really well. And everyone I’ve worked with at DaVoice has been incredibly kind and supportive.

It was a great reminder that sometimes the thing standing between you and a seemingly impossible problem is simply asking the question.
Ask anyway. You never know what you might be able to figure out.


r/androiddev • • 3h ago

OBS Studio running on android via termux without proot or root.

Thumbnail
gallery
1 Upvotes

Doesn't support browser source, camera (v4l2) and system wide screen capture though.

Not the bestest experience but a lot better than using obs via proot .

You can find patches that were made to this here :

https://github.com/termux/termux-packages/pull/29412

And obs-mediacodec code here :

https://github.com/lumaparallax/obs-mediacodec.

Hope someday someone ports this as a native application.


r/androiddev • • 5h ago

Question Old 32-bit APKs

0 Upvotes

Does anyone know any website that has old 32-bit apps or games that got converted to 64-bit?


r/androiddev • • 7h ago

Where or how to start (native) Android development?

4 Upvotes

Hi,

I have a web design/development background (PHP-JS-SQL-HTML-CSS) and I started learning Flutter at the beginning of this year. So far I have built and published five apps on Google Play (relatively simple content apps).

I am not sure if I like or dislike Flutter, as I can't compare it to any other thing. Surely it's a lot different than what I'm used to as a web dev. The thing is, the more apps I build, the more tedious it gets to update, monitor, or fix package/dependancy related issues.

Yesterday, I stumbled into a Flutter related crash that happened across 3 of my apps with 4 users and 2 devices (those are lost users, and possibly more as I have crashlytics optional via a confirmation), which after exhaustive research I concluded is not fixable by my end, so I went ahead and excluded those 2 devices from supported devices list.

Which sped me to ask here...

I can't suppress the inner voice that keeps telling me to go with or at least give a try to native Android development.

- I read Kotlin is more preferrable over Java, shall I go with Kotlin? Also, Kotlin or Kotlin Multiplatform? I eventually want to publish on iOS too, but not having any iOS devices to test with, that may take some time to come to fruition.

- How, where do I start learning? I open https://developer.android.com/ and find it, especially the header navigation menus to be overwhelming, without a clear path to start with towards learning the basics, like a structured tutorial.

- I'm used to VS Code, can I continue using it, or do I have to use Android Studio?

- So far my apps are relatively simple, I am using the following Flutter packages, will I have a difficult time recreating these functionalities in native?

firebase_core, firebase_analytics, firebase_crashlytics, flutter_tts, in_app_purchase, in_app_review, package_info_plus, share_plus, shared_preferences, url_launcher, flutter_launcher_icons, flutter_native_splash

- I read native development lacks the "hot reload" of Flutter, is there any way to quickly preview the edits I make, like changing text or color?

- Any tips, warnings or wisdom from developers who build with both Flutter and native?

Thank you very much.


r/androiddev • • 7h ago

Open Source Android gallery app with liquid glass

Thumbnail
gallery
1 Upvotes

Meet Luma. Android gallery reborn. 📸 The app is still in development

🫧 Liquid glass floating bar 🔒 Secure folder built in 🎨 Dynamic theming, your colours ☁️ Data and backup tools ⚡ Smooth native Compose

Free. Open source. No ads.

⭐ Star on GitHub: https://github.com/nkosanamahungela-dev/Luma-

💬 Join Discord. Test betas. Shape Luma: https://discord.gg/nRbvh87AHK


r/androiddev • • 10h ago

Discussion I'm training my own AI model for an offline document scanner — no more relying on pretrained TFLite models

0 Upvotes

Hey everyone!

I've been working on an Android document scanner, and I decided to take a different approach: instead of relying on existing pretrained TFLite models, I'm training my own model for document detection.

My current model is named "doc_edge_fp_32.tflite", and training is still ongoing.

Here's what I'm working toward:

- Custom AI model: Training on thousands of generated document samples mixed with real photographs.

- Dual predictions: Document segmentation masks and corner coordinates.

- Offline processing: The goal is to run document detection directly on Android without requiring a server.

- Accurate scanning: Reliable document boundaries, perspective correction, and better results on challenging backgrounds.

- Real-world performance: Generalizing beyond synthetic images to receipts, sheets of paper, and book pages.

I'm still training and evaluating the model, so I don't want to claim it's production-ready yet. My next priority is testing it on unseen real-world images and optimizing inference for mobile devices.

I'm curious about a few things:

  1. For document detection, would you recommend a shared backbone with separate segmentation and corner-regression heads?

  2. What techniques have worked best for bridging the gap between synthetic training data and real camera images?

  3. What metrics would you prioritize before deploying a model like this on Android?

I'd love to hear from people who have worked on computer vision, document scanning, segmentation, or on-device ML.

This is a learning project I'm putting serious effort into, and I'm excited to see how far I can take it!


r/androiddev • • 14h ago

I hate CameraX, so I made it a one liner :)

11 Upvotes

I was originally working on one of my projects for this upcoming winter break and I wanted to use the camera of my phone and then I found how insufferable it is to setup cameraX

so I did what any sane developer will do and I spent 4 days building a library that allows me to call the camera in just one line

now I just call camera.open { picture -> //whatever I want to do with it }

also the other reason I did it is because any other library I found out there didn't really make it as simple as I wanted it to be

do you guys think this is something android should of have done from the beginning? I do understand that some people many need to tweak with camerax more but most of the time many apps just need the picture

if you guys want to check it out into detail this is the repo. PLEASE LET ME KNOW IF SOMETHING IS BROKEN OR YOUR HONEST THOUGH!! https://github.com/al3j4ndrolm/FacilisCam


r/androiddev • • 14h ago

Open Source Trackd is OUT for piloting – An offline-resilient phone recovery & decoy engine for Android (SMS interception + Accessibility Guard)

0 Upvotes

Most device recovery workflows break down in real-world theft scenarios because they assume an active data uplink. When a phone is stolen, the opportunistic flow is predictable: immediate Airplane Mode toggle, data cut, and fast attempts to access banking or mobile money apps before the user reaches an external computer.

I wanted to design an open-source architecture that operates entirely offline at the telephony layer without requiring Play Services cloud connectivity during a critical event.

I’ve open-sourced the implementation under MIT:

GitHub: https://github.com/kingenious0/trackd

I would appreciate engineering feedback on the native Android architecture and how people are handling edge cases around modern OEM background policies.

Native Android Architectural Decisions

Telephony Layer Interception (SMS_RECEIVED vs abortBroadcast) Because cellular data is typically the first vector cut, the daemon relies on direct SMS commands (#LOCATE#PIN, #SIREN#PIN, #STOLEN#PIN). An ordered BroadcastReceiver with maximum priority (999) intercepts the raw PDU. If authenticated against a local salted hash in Android Keystore, the receiver invokes abortBroadcast() to prevent notification chime alerts or cluttering the default SMS inbox. Outgoing coordinates are returned via SmsManager directly to a designated recovery number.

App Lockdown & Decoy ANRs via AccessibilityService A lightweight AccessibilityService monitors window state change events. When the daemon is switched to an elevated threat state, foreground attempts to launch targeted package names (banking, system settings, mobile money) immediately dispatch a system dialog overlay spoofing a standard Application Not Responding (ANR) crash and redirect to the default launcher.

Cold GPS Fixes Without Network Assistance Standard GPS locks rely on SUPL/A-GPS cellular assistance data to achieve fast fixes. When offline, FusedLocationProviderClient with high accuracy must fall back purely to standalone GNSS satellite tracking, which leads to extended time-to-first-fix. To mitigate this, a last-gasp cache is preserved, while the receiver holds a partial WakeLock to allow the GNSS chip to cycle satellite ephemeris data before dispatching the response.

Questions & Edge Cases for the Community

OEM Background Killers (MIUI/HyperOS & OneUI): Even with a declared Foreground Service and battery optimization bypasses, HyperOS still frequently terminates background jobs after an hour of deep doze unless the user manually grants vendor-specific Autostart and background pop-up toggles. Has anyone discovered cleaner intent deep-links or standard workarounds to keep telephony listeners alive across aggressive Asian vendor skins?

Dual-SIM Default Carrier Selection: On Android 12+ dual-SIM devices, SmsManager.getDefault() occasionally throws exceptions when dispatching background SMS if the user hasn't configured a default SIM for outgoing messages. How are you currently resolving the active SubscriptionInfo safely when sending system alerts?

Android 14/15 Broadcast Restrictions: With increasing platform restrictions on non-default SMS apps handling SMS_RECEIVED, what are your preferred patterns for zero-data telemetry failover?

Source code is available on the GitHub repository above. Any code reviews, PRs, or architecture critiques are welcome!


r/androiddev • • 17h ago

Discussion How much does AI affect your app revenue?

0 Upvotes

Since it's easier to make apps now with AI vibe coding, does it affect your revenue?


r/androiddev • • 1d ago

Discussion Android edge cases to cover for sde 2

0 Upvotes

Hi everyone I am preparing for android interview recently with 3+ yrs of exp, I am good with topics of basic fundamentals

But struggle with topics involving scalability like

  1. let's us say you have an api that gets called 1 time per second, and your user is having low internet or unstable conditions how to handle this

2)how do you handle battery optimization for your app

After deep diving with Claude and discussion i understand the approach

So can you list down some practical questions like this you faced or would ask in a sde 2 interview

Thank You


r/androiddev • • 1d ago

HDCharts 3.0.0 is live

Post image
5 Upvotes

Hi all, just wanted to share a quick update that I've released a new version of HDCharts.

Demo: https://charts.hdcode.dev/demo/3.0.0/
Documentation: https://charts.hdcode.dev

Would appreciate any feedback!

Update: Dev Challenge

While working on the library, I wanted to make the documentation easy to read and visually appealing. Since the charts support animations, I wanted to use GIFs in the documentation, but creating them manually was time-consuming.

My initial idea was to use an iframe and some bridges to render web content directly in the docs, but I decided against it because it didn't feel like the right approach and seemed a bit hacky.

Instead, I created a dedicated plugin to generate GIFs, which I can use both locally and in CI: https://github.com/HDCharts/charts-gif-recorder


r/androiddev • • 1d ago

Discussion I built a free tool that scans a running Android app for accessibility issues, including what TalkBack actually says (I'm the developer)

1 Upvotes

Hi all, I'm the developer of Swipewalk. Checked with the mods before posting, they said a dev tool like this is fine.

It scans an app running on an emulator or USB phone. It runs Google's Accessibility Test Framework together with its own checks and reports WCAG 2.2 issues with screenshots and who each issue affects. It works on Views, Compose and cross-platform apps since it reads the accessibility tree, not your code.

The part I find most useful: it can turn on TalkBack, move through each focusable control and record what TalkBack actually says, next to what it predicted. That catches things like a button TalkBack just calls "Button" or reads out a resource id. It can also rescan at large font size, in dark/light and in the other orientation, and tells you when a control that was there at normal size can't be reached anymore at large text.

0.6 improved how it names Views and Compose controls (a field labelled with android:labelFor, a button named by several child texts). I checked that on my own native sample apps, not on third party apps yet. If you point it at your source folder it tries to find the likely source line for a finding. I measured that on seven real open source apps (four Android), and the testing page lists the misses.

Things to know:

- It changes phone settings while it checks (text size, TalkBack, dark mode, rotation) and puts them back after. Use a test device. TalkBack is silent for the few seconds it's capturing.

- Runs from a Mac (desktop app or command line). Tested on a Pixel 4a with Android 13 and the Android 16 emulator. Haven't tried it from Windows or Linux yet.

- Automated checks only find part of the issues, so you still need manual testing with TalkBack. It doesn't certify anything.

Free to use, runs locally, no telemetry. I built it with a lot of help from AI coding assistants, I review and test what ships.

What it found and missed in testing: https://github.com/swipewalk/swipewalk/blob/main/docs/testing.md

Downloads (there's a sample apk if you just want to see a report): https://github.com/swipewalk/swipewalk/releases

Would really like to hear what's wrong or missing if you try it on your app.


r/androiddev • • 1d ago

Question What is the point of Android app links?

0 Upvotes

I just followed this tutorial about android app links: https://developer.android.com/codelabs/android-app-links-introduction.

The solution https://github.com/android/deep-links/tree/main/deep-links-introduction/solution seems to be just a regular app with a regular data store and a regular navigation graph that doesn't really behave any differently when it comes to handling these links. Now I'm not sure what the point of them is.

Has anyone here worked with Android app links before? I'm struggling to understand what the point of this tutorial is.


r/androiddev • • 1d ago

Best Projects Courses or Projects that AI can help me understand

0 Upvotes

So I've been learning kotlin compose from the android official codelabs and I feel stuck like i want to make a big project so i can combine all the thinks that I've learned but i don't find a good idea or even a motive or someone so I can use a reference when I got stuck or dunno what to do next so I was asking is there like a course or projects on github that have dagger, retrofit, room and so on so i can learn from


r/androiddev • • 1d ago

Discussion Indie app developers: how do you create your app store screenshots?

0 Upvotes

I'm a developer working on ScreenshotFast, a tool designed to make app store screenshot creation easier for people without a design background.

I'm trying to understand how developers handle this part of launching an app.

Do you usually:

Design screenshots yourself?

Start from templates?

Hire a designer?

Use an existing screenshot generator?

I'd especially appreciate hearing what frustrates you most about the current workflow.

I built a tool around this problem, and I'm happy to share it if it's relevant and allowed by the community rules.

Thanks for sharing your experience!


r/androiddev • • 1d ago

Do Android developers really need Android Studio for every Kotlin debugging task?

0 Upvotes

I was working on some Kotlin/JVM code and ran into a familiar situation.

Everything compiled fine, but the output wasn't what I expected. I just wanted to set a breakpoint, inspect a few variables, and find the issue.

Android Studio handles this well, but sometimes I'm just working on standalone Kotlin logic, utility classes, or JVM modules. Opening a full IDE for that felt unnecessary when I already had VS Code running.

So I started experimenting with Kotlin debugging in VS Code.

What I thought would be a small weekend experiment turned into a much bigger rabbit hole involving JVM bytecode, Kotlin inline functions, and source mapping.

Eventually, I built Kotlin Debugger, an open-source VS Code extension that lets me debug Kotlin/JVM code without setting up a separate Kotlin Language Server.

It's not a replacement for Android Studio, and Android device/emulator debugging isn't supported yet. But for Kotlin/JVM work, it's been an interesting project to build.

GitHub: https://marketplace.visualstudio.com/items?itemName=kparth01.kotlin-debugger

Curious how other Android developers work: Do you use VS Code for standalone Kotlin/JVM modules, or do you prefer keeping everything in Android Studio?


r/androiddev • • 1d ago

Settling on Dexprotector or Jiagu, please share your experience with...

1 Upvotes

We are still undecided but leaning Dexprotector, if you are using Dexprotector on your apps, please share your experience regarding:

1- Have you enabled all the runtime options such as root detection, RASP and UI protection? If yes, has it caused any headaches for a portion of your legitimate users?

2-Overall, has it met your expectations of warding off bad actors to a reasonable degree without it destroying UX?


r/androiddev • • 1d ago

Experience Exchange Convert an android phone into a story box for children

2 Upvotes

Hello, I am an embedded engineer which has no idea how to code an APK. I am usually programming in C/C++/python and I am dealing with rtos/interrupt/uart/spi...

With 2 kids at home and a lot's of story box (Lunii, Bookinou,...) I was tired of buying/uploading story into the differents toys.

I then decided to create an android APK (100% vibecoded) which can transform an old Android phone into a story box easy to use for the children.

I sent ADB to completely lock the phone that the kid cannot leave the app without entering a code.

Now I can just drop mp3 and/or image associated to have lot's of audio stories.

It is running so far so good but I have no clue if it is well programmed or just shit.

https://github.com/gougoul88/Aroli

I am opened to any reactions/opinions/suggestions.


r/androiddev • • 2d ago

Tips and Information What to expect at Android Dev Summit 2026

5 Upvotes

Hi! This is my first time post so apologies if my questions aren’t clear!

But I’m an associate android dev. Been with the team for 1.5 years. I’m going to the Google dev summit in Oct and was wondering what should I expect based on previous years summit?

Also any advice when it comes to connecting with other android devs? I don’t need a job but I figure it good to network, connect with knowledgeable devs and even potential find a mentor when it comes to android development.

Also another question not really related to the summit:

I really do enjoy android development but work seems to only be about ticket speed/story points. Which I understand from the business side of things. But the push to utilize ai and rush story points just feels like there’s no care about developing younger devs. When I ask for help from sr devs, the first thing they ask me is “did you ask ai” or “ask ai first”. Before I even ask sr devs I make sure to research myself. I guess I thought dev teams would be more willing to actually show younger devs pointers that ai could sometimes miss.
Does anyone have any opinion or advice what that?
Or is it something I have to suck up and figure it out?


r/androiddev • • 2d ago

Article Running a full PostgreSQL 18 server inside an Android app: SELinux exec rules, argv[0] tricks and no shmget()

Thumbnail
dev.to
2 Upvotes

Author here. I'm building an Android IDE on my own and wanted a real Postgres running on the device, no remote server. The write-up covers the parts that took me longest: shipping the binaries as .so files so Android lets them execute, the argv[0]/symlink trick initdb needs, rebuilding without the Termux prefix, and forcing mmap because there's no System V shared memory. Happy to answer anything about it.


r/androiddev • • 2d ago

Struggling with using webview for a html jscript file which reads local CSV files + saves local user data

0 Upvotes

Struggling with getting my head around webview.

I have an application which is a one page html javascript page however it needs to read csv files and make some kind of local storage to save the user's progress. What code would I need and where for an app like this as a minimum?

I've tried a few times, including using Gemini but I keep getting errors and things not working even when the syntax seems correct in android stuido.

I did the kotlin android material on the site to learn the basics but there seems to be a lot of other documentation to search through that makes my head spin, is this normal? I thought webview would be easier than creating it in kotlin originally but now I'm starting to feel like I should just scrap it and code it again. I am in science but not educated in computer science formally, any help is welcome.


r/androiddev • • 2d ago

Open Source I got tired of my AI agent writing Compose UI it couldn't see, so I built a tool that renders @Preview to PNG without the IDE

Post image
0 Upvotes

I use Claude Code a lot for Compose work. The annoying part was always the same: it writes a screen, says "done", and then I open Android Studio and the padding is off, text is clipped, or the dark theme is broken. It never saw the UI. It was guessing.

So I built Spyglass. It renders your u/Preview functions to PNG from the command line, no IDE open.

spyglass render --filter LoginScreen

What it does:

  • Renders every u/Preview in a Compose Multiplatform project through your own Gradle wrapper. No changes to your build files.
  • Handles u/PreviewLightDark, u/PreviewParameter, font scale, device sizes, and multi-preview annotations from other modules.
  • Compares a render with a design image and tells you which regions differ, in dp, with a heatmap. So "make it match the Figma export" becomes something you can check.
  • spyglass approve / spyglass check gives you screenshot tests in CI. A one-digit text change fails the check.
  • Comes with an MCP server, so Claude Code, Cursor or anything that speaks MCP can render and look at the UI on its own and fix what it sees.

A few things I had to solve along the way that might be interesting:

  • Animations and delay() in fake data. A naive render catches the first frame, so you get a progress bar at 0% and a dialog half faded in. Spyglass runs previews on a virtual clock until everything settles, so a delay(300) before your fake data loads costs no real time and you see the loaded state.
  • A preview stuck in a loop used to hang the whole run. Now it gets cut off after 30 seconds and you get the exact line it was stuck on.
  • Token cost for agents. Images are sized down, and if nothing changed since the agent last looked, it doesn't send the image again. A repeat render went from about 1,560 tokens to about 180.

Limits, so nobody is surprised: previews need a JVM (desktop) target, so Android-only previews and Android-only APIs don't render yet. Text uses your OS fonts, so keep screenshot baselines from one OS. Tested on Windows, Linux and macOS.

It's MIT licensed and this is the first release (0.1.0). I'd really like to hear where it breaks on your projects.

https://github.com/zainkhalid91/spyglass


r/androiddev • • 2d ago

I built a 100% client-side APK inspector that decodes binary AndroidManifest.xml (AXML) and unpacks classes.dex in the browser (zero file uploads)

3 Upvotes

When auditing release builds or checking third-party APKs on a locked-down machine without Android Studio or `apktool` installed, uploading proprietary APKs to random "online APK decompiler" websites is a security risk.

I built a browser-based APK Extractor & Inspector that runs 100% locally in browser memory using the HTML5 FileReader API and a custom binary AXML parser:

**Live Tool**: https://easyextract.online/apk-extractor/ **Technical Breakdown Guide**: https://easyextract.online/blog/how-to-extract-apk-files-and-view-contents/

What it does locally in RAM:

  1. **Decodes Binary `AndroidManifest.xml` (AXML)**: Parses the `0x00080003` binary XML chunk and string pool back into readable XML—extracting `<uses-permission>`, activities, services, receivers, and `minSdkVersion`/`targetSdkVersion`.
  2. **DEX Bytecode Summary**: Counts single vs multidex (`classes.dex`, `classes2.dex`) and measures bytecode footprint.
  3. **Native Architecture Detection**: Automatically scans `lib/` for `arm64-v8a`, `armeabi-v7a`, `x86_64`, and `x86` `.so` shared libraries.
  4. **Instant Asset & Icon Extraction**: Preview and download mipmap/drawable PNGs, WebPs, and raw resources individually or as a re-bundled ZIP.

Zero network requests after page load. Feedback on edge-case AXML resource tables welcome!


r/androiddev • • 2d ago

Do android engineers earn less than other software engineers as we go up?

18 Upvotes

I have been an android engineer for almost 10 years now. In the beginning it felt like we made more or less the same amount of money as compared to other software engineers (backend specifically). But now as I have moved to a Staff eng role, it feels like senior/staff android engineers are being offered lot less these days compared to backend or infra or cloud storage related roles. Wonder if this is true or is it just in my head?