reddit_androiddev | Unsorted

Telegram-канал reddit_androiddev - AndroidDev - Reddit

56

Stay up-to-date with latest news on Android Development! Content directly fetched from the subreddit just for you. Powered by : @r_channels

Subscribe to a channel

AndroidDev - Reddit

roughly 40% of the time. When it works, subsequent getCurrentLocation(HIGH_ACCURACY) calls start succeeding again.

Solution 4: Explicit outcome type

The original code returned Unit from the location request method. The caller had no way to distinguish a fresh 10-meter GPS fix from a 5-hour-old cached position. I changed the return type to make this explicit:

sealed interface GpsLocationOutcome {

data class FreshGps(val accuracy: Float) : GpsLocationOutcome

data class CellFallback(val accuracy: Float) : GpsLocationOutcome

data class WakeProbeSuccess(val accuracy: Float) : GpsLocationOutcome

data class StaleLastLocation(val ageMs: Long) : GpsLocationOutcome

data object TotalFailure : GpsLocationOutcome

}

Now the caller can make informed decisions. A fresh GPS fix means high confidence. A cell fallback at 3 kilometers is useful but low precision. A stale location from 5 hours ago is a warning, not data.

An important design decision: CellFallback is treated as neutral — GPS hardware is still broken (do not reset the failure counter), but usable data exists (do not trigger aggressive backoff either).

The consumer looks like:



when (outcome) {

is FreshGps, is WakeProbeSuccess -> reportGpsSuccess()

is CellFallback -> { /* GPS broken but we have data */ }

is StaleLastLocation, is TotalFailure -> reportGpsFailure()

}

An unexpected race condition

I had multiple independent trigger paths requesting GPS concurrently. Two of them fired within 33 milliseconds of each other. Both read the same getLastLocation(), both passed the stationarity filter, and both inserted a GPS reading. The result was two identical readings 33 milliseconds apart.

My code uses a minimum-readings-per-cluster filter to discard drive-through locations (a place needs at least 2 GPS readings to count as a real visit). The duplicate entry from the race condition defeated this filter — a single drive-by became a "cluster of 2." The fix was a Mutex around the entire processLocation path:

private val processLocationMutex = Mutex()

suspend fun processLocation(location: Location) {

processLocationMutex.withLock {

val lastLocation = getLastLocation()

// the second concurrent caller now sees the just-inserted

// location and correctly skips as duplicate

}

}

Additional note on dependency versions

I was using play-services-location 21.0.1 for months. Upgrading to 21.3.0 resolved some GPS reliability edge cases I had not yet identified. If you are doing background location work, it is worth checking whether your dependency version is current.

Summary

getCurrentLocation() can hang indefinitely on OEM-throttled devices. Always wrap it in withTimeoutOrNull. Build a priority fallback chain through all available location sources. Consider a brief

wake probe for GPS hardware recovery. Return an explicit outcome type so callers know the quality of data they received. If you have multiple GPS trigger paths, serialize them with a Mutex.

I have only tested this on Honor. I would be interested to hear whether anyone has observed similar GPS hardware suspension on other manufacturers.

https://redd.it/1s028ty
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

How can i find my first freelance project as an kotlin android developer

I have build good number of Saas applications in kotlin and jetpack compose and using firebase as backend.Looking for work? It would be greatfull if someone can help

https://redd.it/1rzw6js
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Built this for Android devs dealing with Google Play rejections — would love feedback

I kept getting stuck on vague Play Console rejection emails, so I built a small tool to speed up fixes:

PlayStorisk → [https://playstorisk.com](https://playstorisk.com)

What it does:

* Free Pre-Submission Check (permissions/SDK/privacy risk signals)
* Free APK scan (manifest + SDK + policy-risk indicators)
* Rejection email analyzer that turns boilerplate rejection text into:
* probable root cause
* prioritized fix steps
* direct Play Console section links

I’m not claiming “guaranteed approval” — it’s just a debugging assistant for policy/compliance work.

I just launched and I’m looking for honest feedback from Android devs:

* Is the output actionable enough?
* What’s missing for real-world rejection workflows?
* What would make this worth using before every release?

https://redd.it/1rzsdkf
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

I built a JSON viewer & editor for mobile with 30+ features — free, no account needed

^(ey everyone,)



^(I'm a solo Flutter developer and I just shipped v1.1.0 of my JSON tool for Android and iOS. I built it because every existing JSON app on mobile was)

^(either ugly, abandoned, or missing basic features.)



^(What it does:)

^(- Tree view + code view with syntax highlighting)

^(- JSON Diff — compare two files side by side)

^(- API Client — test any REST endpoint (GET/POST/PUT/DELETE))

^(- Schema validation (JSON Schema Draft 7))

^(- JSONPath queries)

^(- Export to PDF, Excel, YAML, XML, CSV)

^(- JSON Fixer — auto-repairs broken JSON)

^(- 15 languages)

^(- Works completely offline)



^(It's free, no account needed, no data collected.)



^(Android:) ^(https://play.google.com/store/apps/details?id=com.cosmovex.jsonvedit)

^(iOS:) ^(https://apps.apple.com/in/app/json-viewer-and-editor/id6760624709)

https://redd.it/1rzpi07
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Built a Manga Tracker App – Looking for Feedback on UX & Features

Hey everyone 👋



I’ve built an app called MangaLoop – a manga/manhwa/manhua tracker.



I’d love feedback on:

• UI/UX

• Performance

• Feature suggestions



If anyone is interested in trying it out and sharing feedback, let me know.



Would appreciate any developer insights 🙌

https://redd.it/1rzn6lc
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

🚀 Mutual Support: 5⭐ Review + 14 Days Testing (I’ll Return the Same!)

Hey everyone! 👋

My app is now live on Google Play, and I’m looking for mutual support with other developers.

If you download my app, try it, and leave a 5-star rating ⭐ along with a positive review, send me a screenshot — I will do the same for your app and also test it actively for 14 days.

Let’s support each other and grow together! 🚀

Here’s my app:
https://play.google.com/store/apps/details?id=com.quizmastertr.app

https://redd.it/1rzkshk
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

I built an open-source Android debugging toolkit with 25+ tools — replaces Chucker, Flipper, and Stetho

I got tired of juggling Chucker for network, LeakCanary for leaks, random scripts for SharedPreferences, and Logcat for everything else. So I built WormaCeptor — a single library that puts 25+ debugging tools in one UI.

**What it does**

* Network inspection (OkHttp + Ktor + WebSocket + WebView)
* Performance monitoring (FPS, Memory, CPU with floating overlay)
* SQLite browser with query execution
* SharedPreferences and EncryptedSharedPreferences viewer/editor
* Leak detection for Activities and Fragments
* Crash reporting with stack traces
* Push notification simulator
* GPS location mocking
* File browser, device info, loaded libraries
* Crypto tools (AES, RSA, hashing)
* Network throttling (2G/3G/4G/WiFi presets)



**Why not the existing tools?**

* Flipper is deprecated by Meta
* Stetho has been archived for years
* Chucker does network well but nothing else



**Production safety:**

The toolkit uses `debugImplementation` — your release APK never contains WormaCeptor code. Not because of ProGuard, but because it’s never compiled in. The API client is a lightweight no-op in release builds.

**Tech stack:** 50+ Gradle modules, Clean Architecture, 100% Kotlin, Jetpack Compose UI, ArchUnit-enforced module boundaries.

**Getting started:**

add the dependencies

// The API client is lightweight and always present
implementation("com.github.azikar24.WormaCeptor:api-client:2.2.0")

// The actual toolkit only exists in debug builds
debugImplementation("com.github.azikar24.WormaCeptor:api-impl-persistence:2.2.0")


In release builds, **WormaCeptorApi** calls silently do nothing. No reflection tricks, no runtime checks. The implementation module isn’t there, so there’s nothing to run.

// Application.kt
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
WormaCeptorApi.init(this)
}
}

Add the interceptor to your HTTP client

// OkHttp
val client = OkHttpClient.Builder()
.addInterceptor(WormaCeptorInterceptor())
.build()

// Ktor
val client = HttpClient(CIO) {
install(WormaCeptorKtorPlugin) {
maxContentLength = 500_000L
}
}

Sensitive data? Redact it:

WormaCeptorInterceptor()
.redactHeader("Authorization")
.redactJsonValue("password")
.redactXmlValue("apiKey")

Then wire up one of the launch methods:

// Shake to open (lifecycle-aware, auto-stops on destroy)
WormaCeptorApi.startActivityOnShake(activity)

// Or a draggable floating button (requires SYSTEM_ALERT_WINDOW)
WormaCeptorApi.showFloatingButton(context)

// Or launch manually from anywhere
startActivity(WormaCeptorApi.getLaunchIntent(context))


**Links:**

\- GitHub: [https://github.com/azikar24/WormaCeptor](https://github.com/azikar24/WormaCeptor)
\- Demo app on Google Play: [https://play.google.com/store/apps/details?id=com.azikar24.wormaceptorapp](https://play.google.com/store/apps/details?id=com.azikar24.wormaceptorapp)
\- Demo video: [https://youtube.com/shorts/iSEifbkq7NI](https://youtube.com/shorts/iSEifbkq7NI)

MIT licensed. Issues and PRs welcome.




https://redd.it/1rzdi2o
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Rebooting TV in Loop used 1minute

Hello Guys, I bought Xaomi OLED TV from China(Chinese ROM) about two weeks ago. After seeing it u, I though I could change the language to English since the option is is available, bit I found out it only changed systems language in setting and not third-partu apps. After doing my research I found out I can disable the luncher and load custom luncher to get it in full English. I found out I can use my phone with adb with USB debugging enabled. So I hoped onti ChatGPT for help and I managed to do it, and loaded Projectivity Luncher, but unfortunately after restart my TV went into android Recover mode. I was given an option Try Again and Factory Data Reset. I did factory to at least savey device but nothing worked. I finally managed to get the TV to boot and load the lunched but it will reboots 45seconds after luncher has fully loaded. Now it is booting loop. I reached out to Xaomi to help but the told me unless I send the TV back to China, and they do not have the firmware to send me to fix it. Nosy new TV which I could not use for two weeks is stuckdd on 45 seconds boot loop. I have been trying to at least enable USB debugging to add I can connect and run a code to fi bit yet, the time to operate the TV is not enough. Sometime moment after getting us debugging TV reboots and it is disabled. Remember I am not a developer, I was only relying on ChatGPT. Now, I don't know any Chinese Website where I can get the firmware.. The TV is 2021 Model with Android 10. Is there a way I can get USB debugging enabled even before the lunched loads? Or can anyone suggest a Chinese website where I can get the firmware to flash it. Any ideas is welcome. I am expecting visitors in a couple of weeks time and this is the only TV I have at the moment. Any help or suggestion is welcome. I have tried all ADB apps but enabling USB debugging and connection with my phone to runn a code has not been successful due to constant rebooting. Whatever you can do yo help I will appreciate.

https://redd.it/1rzd1g0
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Google Play app signing turned on but AAB still rejected.

I've had an app on the Play store for over ten years. I recently went to update it and am switching to the Google Play app signing and AAB process. It's been tricky to make this work and I've hit a snag at the AAB signing. I registered for Google Play signing, created the private key and uploaded it to Play. But when I upload a new AAB, it says all AAB's must be signed. You can see that Google Play managed app signing is turned on in this screen grab. I'm lost and the docs haven't helped me find the solution.

https://preview.redd.it/r9zl5n9rc9qg1.png?width=1718&format=png&auto=webp&s=4a64ef2fb2734aef0369c81f626b8f26cfad89be



https://redd.it/1rz6yy7
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

My dead game suddenly started growing after 2 years… no idea why
https://redd.it/1rz8045
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Stickify
https://github.com/hearsilent/AndroidStickify

https://redd.it/1rz3mr8
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

stale data in Google Drive documents read through SAF

I'm testing a document based app that allows creating / loading files using Storage Access Framework (SAF).

If I save a document on Google Drive on device A, edit it and save on device B, then open on device A, device A always sees a stale document without device B's changes. Data is stale (read through openInputStream), as is metadata (eg. modified time -- COLUMN_LAST_MODIFIED via queries). ContentObserver.onChange does not appear to trigger either.

This persists for at least 12 hours, possibly indefinitely. The Drive webapp confirms the data was written to the server more or less immediately. The only thing that triggers a sync is if the user opens the Google Drive App manually. The testing device is on strong wifi, is not asleep, and is connected to power throughout the testing.

There's a ContentResolver.refresh method, but the Google Drive provider does not honor it (EXTRA_REFRESH_SUPPORTED=false), and it has no effect.

This is an awful user experience. Loading stale data is an edit away from losing data (assuming a modern autosave workflow). Have others experienced this? Is using Google Drive files via SAF just something that someone encountering the documentation here is supposed to know not to do?

Any help, or just knowing if others have faced this, would be appreciated. Thanks!

https://redd.it/1ryzw3y
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

What is going on with Google IAP?

Saves the purchase to playerprefs from non-consumable purchase deleted the app redownload auto purchased for free. Does Google now keep the id of the user and auto restores the pruchase?

https://redd.it/1ryt83r
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

I built a converter for all 1512 Phosphor Icons → Android Vector Drawables (with live preview)

Hey r/androiddev! I've been using Phosphor Icons in projects but kept hitting the same friction: they're SVGs, not Android VDs. So I built an **auto-syncing converter** that handles all 1512 icons.



**The Problem:**

• Phosphor has incredible icons, but Android wants XML Vector Drawables

• Manual conversion is tedious and error-prone

• Converting 1512 icons? Forget it.



**The Solution:**

• Live preview + search — browse by name/tags, click to copy XML

• **100% validated** — every icon tested against the original (all element types, transforms, etc)

• **Auto-syncs weekly** — stays current with Phosphor's updates

• **No dependencies** — pure Python conversion script



**Key Features:**

✅ Handles all SVG elements (path, line, rect, circle, polyline, polygon, ellipse)

✅ Full transform support (translate, rotate, scale, skewX, skewY, matrix)

✅ Smart conversions (circles default to filled, transforms baked via matrix math)

✅ MIT licensed with proper attribution



**GitHub:** [https://github.com/shreyansqt/phosphor-android](https://github.com/shreyansqt/phosphor-android)



Just search for an icon, click to copy, drop it in res/drawable/. Works in Compose too:

Icon(
    painter = painterResource(id = R.drawable.phosphor_speaker),
    contentDescription = "Speaker"
)

Feedback welcome! Let me know if you find any conversion issues — the whole point is accuracy.

https://redd.it/1rysd4y
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Looking to get back into android dev.

I was learning android dev a few years ago and got to a point where I was pretty confident in working on bigger apps and just looking for solutions when I got stuck. I worked with Java and the old layout builder using mostly XML(I’ve always struggled and honestly hate/don’t care about UI) I prefer backend development but since it’s just me I’m down to learn. Anyways I want to get back into it since I have a passion project I want to work on but it’s a little complex. I want to learn Kotlin and jetpack compose but I’m really overwhelmed to start. Have things stabilized yet? When I was learning it felt like google had no idea what they wanted to do and kept changing things every few months. Where do I start? A few years ago it felt like every company and developer had their own course but now it feels like there’s not many courses available, the basic google one at least last I tried didn’t feel too good.

https://redd.it/1ryq0c6
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

getCurrentLocation() hangs indefinitely on Honor devices when the OEM battery saver kills GPS hardware — a priority fallback chain solution

I have been working on a project that requires reliable background GPS on Android. The use case is periodic location checks every 30 to 60 minutes from a foreground service. Not navigation — just confirming approximate position over long periods. I have been testing on an Honor device, and discovered a gap in the FusedLocationProviderClient API that I have not seen discussed much.

The problem

At approximately 12% battery, the OEM battery saver silently killed GPS hardware access. There was no exception, no error callback, and no log entry. The foreground service remained alive and the accelerometer continued working for over 13 hours. However, getCurrentLocation(PRIORITY_HIGH_ACCURACY) simply never completed. The Task from Play Services hung indefinitely — neither

onSuccessListener nor onFailureListener ever fired.

The code fell back to getLastLocation(), which returned a 5-hour-old cached position from a completely different city. The system had no indication anything was wrong.

The root cause is that getCurrentLocation() returns a Task with no built-in timeout. If the GPS hardware is throttled or killed by the OEM power manager, that Task never resolves. Most applications never encounter this because they use location briefly in the foreground.



A typical implementation looks like this:



suspend fun getLocation(): Location? {

return suspendCancellableCoroutine { cont -> fusedClient.getCurrentLocation(PRIORITY_HIGH_ACCURACY, token)

.addOnSuccessListener { cont.resume(it) }

.addOnFailureListener { cont.resume(null) }

}

}

On Honor at low battery, this coroutine never completes and the entire location pipeline stops.

Solution 1: Coroutine timeout

The first step is wrapping every getCurrentLocation() call in withTimeoutOrNull:

suspend fun getLocation(priority: Int): Location?

{ return withTimeoutOrNull(30_000L) {

suspendCancellableCoroutine { cont ->

fusedClient.getCurrentLocation(priority, token)

.addOnSuccessListener { cont.resume(it) }

.addOnFailureListener { cont.resume(null) }

}

}

}



This prevents the hang, but now the result is simply null. There is still no location.

Solution 2: Priority fallback chain

GPS hardware being dead does not mean all location sources are unavailable. Cell towers and Wi-Fi still function because the phone needs them for connectivity. I built a sequential fallback:

> PRIORITY_HIGH_ACCURACY (GPS hardware, approximately 10 meters)

>↓ null or timeout

> PRIORITY_BALANCED_POWER_ACCURACY (Wi-Fi + cell, approximately 40-300 meters)

>↓ null or timeout

> PRIORITY_LOW_POWER (cell only, approximately 300 meters to 3 kilometers)

>↓ null or timeout

> lastLocation (cached, any age)

>↓ null

> total failure

Each step receives its own 30-second timeout. In practice, when GPS hardware is killed, BALANCED_POWER_ACCURACY usually returns within 2 to 3 seconds because Wi-Fi scanning still works.

Three-kilometer accuracy from a cell tower sounds poor, but it answers the question "is this person in the expected city or 200 kilometers away on a highway?" For my use case, that prevented an incorrect assessment based on a stale cached position.

Solution 3: GPS wake probe

Sometimes the GPS hardware is not permanently dead — it has been suspended by the battery manager. A brief requestLocationUpdates call can wake it:

if (hoursSinceLastFreshGps > 4) {

val probeRequest = LocationRequest.Builder(

Priority.PRIORITY_HIGH_ACCURACY, 1000L

)

.setDurationMillis(5_000L)

.setMaxUpdates(5)

.build()



withTimeoutOrNull(6_000L) {

fusedClient.requestLocationUpdates(probeRequest, callback, looper)

// wait for callback or timeout

}

fusedClient.removeLocationUpdates(callback)

}

Five seconds, maximum once every 4 hours, approximately 6 probes per day. On Honor, this recovers the GPS hardware

Читать полностью…

AndroidDev - Reddit

I built an AI QA Engineer for Android Apps (No Human Supervision)

I built OpenTester because Claude Code was writing Android features faster than I could test them.

Every time the agent made a change, I was stuck in a loop: opening the emulator, manually navigating the same flows, and re-running regressions to make sure nothing else broke.

So I built OpenTester. It’s an open-source AI QA engineer that plugs into Claude Code via MCP. Now, the agent can autonomously launch the app, navigate the UI like a human, and save those steps in a JSON format that allows it to revalidate them in the future. It essentially gives the coding agent “eyes” and a way to verify its own work.

It’s fully open-source and free for early users: https://github.com/andresuarezz26/OpenTester

https://redd.it/1rztk2b
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

kill switch for old versions of my app - fraud, hacking - lucky patcher

About to release my app
My database rules are tight.
And my app is "reasonably" secure.
Today, I don't verify receipts on my back end - it's there but switched off.
The app checks for (i) "success" flag from the Google/Apple store or (ii) string "gold" value from the users account in my database (write access blocked)

Wondering if there is a kill switch I can put in my apps? because there are old .apk's/.app out there for many apps, so I don't want to give away my features in those older less secure versions to hackers who will just intercept "gold" and get free access?

EDIT: My latest solution --> if TODAY() < 3 months from X date THEN Kill App - to force users to eventually update the app

https://redd.it/1rzoq7w
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Feedback from my photo-privacy app

I am Building a free open source app with focus on protecting pictures in a different way rather than the "hidden folder".

Concept: Don't Hide the image somewhere and unlock It with the password. But, Encrypt the image byte per byte with the password using AES, this Will produce a "glitched" image you can store in your gallery without worrying someone scrolling through your gallery can sees It, or you can store it safetly on you driver or share It. By using the same sentence, the image Will be decrypted and you Will get the original picture with no quality loss.

The idea here Is not to Hide the image, but make It unreadable. I have already done this app, for mu portfolio, and i wanted to improve It, maybe adding more Features such as palette Layer to make the finale image less "glitched" and more "artistic", but i don't know if the effort worth It.

What do you think? Would you use this? 100% local, opensource, no server or external calls.

Do you have any suggestion for more Features or how to improve this? Open to hear tour thoughts!

https://redd.it/1rznqqx
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Solve the Android Deeplink Nightmare Once and For All

Android deeplinks are such a pain because they live in two places (manifest + Kotlin code) and it's super easy to get them out of sync.

So I built DeepMatch, an android deeplink toolkit with a Gradle plugin that lets you write your deeplink spec once in YAML and generates everything else, and a runtime matcher for parsing and matching the incoming intents. No more syncing two files manually. No more silent runtime failures.

## Quick example:

deeplinkSpecs:
- name: "open profile"
activity: com.example.ProfileActivity
scheme: [https, app]
host: [example.com]
pathParams:
- name: userId
type: numeric


Plugin generates:
- ✅ Manifest intent filters
- ✅ Type-safe Kotlin classes (url Params mapped)
- ✅ Runtime processor (matcher)
- ✅ Build-time validation (catches collisions, dups, etc.)

## Before vs After

Before:
val userId = intent.data?.getQueryParameter("userId")?.toInt() // crashes if invalid
val ref = intent.data?.getQueryParameter("ref") // null or not? who knows


After:
when (val params = AppDeeplinkProcessor.match(intent.data) as? AppDeeplinkParams) {
is OpenProfileDeeplinkParams -> openProfile(params.userId, params.ref) // types are safe
null -> showHome()
}


## Multi-module support (Optional)

Each module can declare its own .deeplinks.yml. If two modules accidentally claim the same deeplink, the build fails and tells you.

✅ No silent collisions in production.

## Validation at build time

- ❌ Missing schemes? Build fails.
- ❌ Duplicate names? Build fails.
- ❌ Collisions across modules? Build fails.
- ✅ You catch it immediately, not when users hit broken links.

## Setup

plugins {
id("com.aouledissa.deepmatch.gradle") version "<VERSION>"
}

dependencies {
implementation("com.aouledissa.deepmatch:deepmatch-processor:<VERSION>")
}


Drop .deeplinks.yml in your app folder. Done ✅!

## Check it out here

- GitHub: aouledissa/deep-match
- Docs: aouledissa.com/deep-match
---

## FAQ

Actually generates the manifest? Yep.

Works with multi-module? Yep. Finds all specs, composes them, checks collisions.

Type-safe? Completely. YAML → Kotlin classes, matched with when.

Extendable? Yeah, processor is designed to be extended.

Config cache? Yes.

Would love feedback or to hear if you use it! Issues and PRs are of course welcomed.


https://redd.it/1rzly6n
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

android testing might kill us

Hi everyone, i'm building a fintech app with just me plus 2 other devs and android testing has been an absolute hell, it's just endless debugging and we're barely keeping up.

A friend told me about drizz.dev yesterday, it looked promising so I have booked their free demo for now.
anyone here actually using it for android testing? Does it actually work for small teams or is it something scammy? If not drizz, what else are you guys using that actually works as promised? honest opinions only please

https://redd.it/1rzjpgo
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

After 14 days of closed testing, "The Iron Oracle" just got approved for Production on the 1st try!
https://redd.it/1rzgdb6
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

why do companies marketing with fake ads?

you know that grand mafia game. lv1 crok doing weird stuff. well its just a basic png city builder game and its nothing like ads. but their fake ads running since 2021-?.

also how they keep their rating at 4.4+. its the most p2w game i ever played. fake ad + p2w combo is literally asking for 1 star. yet my f2p ad free game struggling to keep 3.9 rating.

https://redd.it/1rz3vnh
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Planning to take the Meta Android Developer Professional Certificate on Coursera. Need a review.

I’m planning to take the Meta Android Developer Professional Certificate and would appreciate any reviews or advice from someone who has completed it before. I’m new to Android development and would like to know what topics the course covers. I’m also wondering if I should purchase the certificate.

https://redd.it/1rz947r
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Are SMS formats from banks and apps actually consistent across users?

I’ve been looking at how different services send SMS (banks, Swiggy, Amazon, etc.), and something interesting came up.

Each message has a sender ID (like AX-HDFCBK, VM-AMAZON), but the actual message formats vary a lot — even for similar types of alerts.

I’m trying to understand:

How consistent formats are for the same sender ID

Whether different users receive slightly different formats

What patterns exist across senders

I’m building something around this space, so trying to map real-world variations.

If you’re comfortable, could you share 1–2 sample messages along with the sender ID?(Please mask any sensitive info like amounts, names, account numbers.)

Even just the structure + sender ID helps a lot.

Happy to share what I find if there’s interest.

https://redd.it/1rypk8g
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Play Console Rejection for Username and Password Update!

Hello!

I just wanted to give an update to a post I made before about not being able to get my app past the review stage. The first time that I had sent my app in for review, it had an issue with location based access, which made it so the reviewer wasn't able to log in. They had given me a screenshot of this issue, and I fixed it and sent it back in. Rejected for the same reason.

For months I went back and forth with the appeals process and made changes in the backend to make sure that the reviewer would be able to get in, but every single time I would resubmit it, I would get the same rejection. After a while, someone who was sending me the reviews in the appeals process wrote a comment saying that they "are not able to re-review the app without a new bundle version." So I got a new version, resubmitted it, and within 2 days I got the confirmation that it has been added to the Playstore.

So the lesson that I have learned and would like to share, is that if you are being denied over and over again even though the issue is fixed, try to put out a new version for review and you have a better chance!

https://redd.it/1rz0veo
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Stuck of being "wannabe".

Hello everyone, I'm not an IT Graduate, CS or CE. I'm just among those who's just equivalent of those degree. I just want to share my experience and take your advice in my current situation. I'm shifting my career and risking it all in tech, last year I work as an IT Technical Support in some small company, as my role I thought I would just do some basic troubleshooting in hardware, software and network. But after a month they gave me dev task and since its my first time in tech I grab the opportunity to dive into android development.

At first everything is hell, as someone who's just shifting my career in tech for an entry level role, I had no choice but to seek assistance in AI, that time I had no idea about "vibe coder or vibe coding" all I know my app works and functional. I recognized patterns by experimenting different stuffs, then experienced burnout as learning while working synchronized. My body and mind not ready for it but soon enough getting used to it.

I know the fact that its just a product of a vibe coding but having one put me a lot of interest in this field. Even though I'm not qualified for that company I'm still glad to have that opportunity.

I've been unemployed for almost 3 months, I thought having experience in handling dev task is enough for me to land for entry level android dev, but it's not. I'm having 6 applications 4 of those are working and 1 UI prototype and 1 Work in Progress, experience in Microsoft SQL, MySQL and version control (Git). I've been thoroughly learning on my own from last year about Kotlin and its fundamentals and everything. Some companies had an interested in me and had some technical interviews but none of those was successful. I can't blame them and myself, I'm just someone who's in result of vibe coding and pushing myself to do better in this field, though some of the logic and terminologies is new to me.

Every single day while facing Android SDK IDE I always had this feeling of just a wannabe, someone who's just trying hard to become dev. Right now I'm pivoting myself in Support Role since I felt I'm not capable to become android dev as of the moment.

I've been in tech for only 8 months but no matter how positive I think and act it can't change the outcome that, I'm just a wannabe.

I accept positive or negative comments. I will take it as lesson and motivation to move forward.

https://redd.it/1ryx3dj
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Making free app screenshots for 1 person

I´ll make app screenshots for 1 person with appscreenshotstudio.

DM me the screenshots of your app and some context so i can make proper designs!

If you want i can also give you the appstore versions

galaxy tablet is possible too but you have to give me the screenshots of your app on tablet.

https://redd.it/1ryvep9
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Delayed Play Console Stats

This is now Day 5 since I have seen an update. I just did some major ASO and am eager to see results.

Are you noticing a major lag? Can anything be done about it?

https://redd.it/1ryt13r
@reddit_androiddev

Читать полностью…

AndroidDev - Reddit

Price experiment experiences - how to interpret results?

I ran a price experiment for several months (increased the price by 25%), and I’m confused by the results.

Overall revenue went down, which suggests the price increase wasn’t a good idea. However, revenue from new installers increased (very) significantly.

Seems as if my old, existing user base is very reluctant to pay the higher price, while new users who installed the app after the increase are totally fine with it and I actually make a lot more money.

I’m not sure if my interpretation is correct, and if it is, what does it even mean? And what should I do next? Keep the increased price or not?

Play console just says:

>Inconclusive result
>Your experiment has either been stopped prematurely, or has not reached a statistically significant result within the 6-month limit.

I mean, if even 5 months of price experiments on a moderately popular app making $1–2k/month can’t produce “conclusive” results for the most important country, then I don’t find it particularly useful. I’m just more confused than before starting the experiment...

https://redd.it/1ryqeva
@reddit_androiddev

Читать полностью…
Subscribe to a channel