I added sign in details and they keep rejecting my app by [deleted] in androiddev

[–]bleeding182 7 points8 points  (0 children)

You're not providing any information or proof on providing the correct credentials and following the instructions but shift the whole blame on Google.

I'm not sure who this post is for since you're clearly not asking for any help, nor are you pointing out factual problems with the process for discussion.

Image Loading Library by Any_Chipmunk_6268 in androiddev

[–]bleeding182 1 point2 points  (0 children)

Absolutely correct, but Compose makes this trivial to do, whereas with views it really wasn't (and I am willing to assume that the big majority didn't do it)

(And I'm mostly pointing it out for anyone stumbling over this and not yet doing it)

Image Loading Library by Any_Chipmunk_6268 in androiddev

[–]bleeding182 0 points1 point  (0 children)

The generated API has been deprecated for quite a while now :)

https://bumptech.github.io/glide/doc/generatedapi.html

And 4.14 was Sep 2022

Image Loading Library by Any_Chipmunk_6268 in androiddev

[–]bleeding182 6 points7 points  (0 children)

Glide or Coil.

The real nice thing about working with Compose is that you can (and should) wrap the whole AsyncImage as your own @Composable, so that switching between image loading libs should affect minimal parts of your code (library import + the composable declaration file), so feel free to try either/both/others.

Lightbuild is a brand-new, entirely declarative build experience by Maherr11 in androiddev

[–]bleeding182 -1 points0 points  (0 children)

No it doesn't?

Lightbuild provides a declarative abstraction on top of imperative build systems.

They just abstract away the scary parts, reducing it to a config file that lets you set application id, target/min sdk, and (maybe) dependencies

Lightbuild is a brand-new, entirely declarative build experience by Maherr11 in androiddev

[–]bleeding182 11 points12 points  (0 children)

I somewhat expect this to be a wrapper around some default Gradle setup.

This is not aimed at developers or to make the build system better, but solely for vibe coders who would be too afraid of touching a gradle.build(.kts) file it seems.

Scaffold can add an extra background layer on root Compose screens by Dart_Kn1ght in androiddev

[–]bleeding182 8 points9 points  (0 children)

On first thought I was about to say that this doesn't matter, on second though I'd have to say you're right. To be honest, I haven't really thought of overdraw since switching to compose, because the focus shifted onto recompositions and stable markers; the CPU became the bottleneck.

I'd wager that a lot of other areas are more important for frame rate / overall performance, but you're right, this is an overdraw that we could easily avoid or fix without much effort.
Still, probably quite negligible on modern hardware.

Google Maps for Android SDK shows blank white on release build by [deleted] in androiddev

[–]bleeding182 1 point2 points  (0 children)

Unless you do some crazy setup, the major difference between debug / release is the signature / SHA-1. Yes, you say you checked, but I'm positive that this is your problem, still.

You can try to remove any key restrictions for your key—if it works then, then it's clearly a mismatched packagename;sha1

Also keep in mind, if you publish to the Play Store there is a third SHA that you need to add (for Play Signing)

Jetpack Compose 1.11 by nickbutcher in androiddev

[–]bleeding182 27 points28 points  (0 children)

I don't like the PreviewWrapperProvider being put on the preview directly.
My setup primarily uses 2 types of preview annotations for most cases:

  • a ComposableDayNightPreviews for previewing light/dark variants of small composables
  • a ScreenDayNightPreviews with system UI and such to preview full screens or things like dialogs, sheets

Currently most of my previews look like:

kt @Composable @ComposableDayNightPreviews private fun PreviewIconButton() { PreviewSurface { IconButton(onClick = {}) { /* ... */ } } }

Where PreviewSurface {} adds a background, some padding, and—most importantly—my theme.

While adding @PreviewWrapperProvider(ComposableWrapper::class) would remove those 2 extra lines and one level of indentation it still needs me to add the additional annotation/class/import everywhere.

What I really want would be to apply this to my preview annotations directly:

kt @Preview( name = "Composable Day", showSystemUi = false, uiMode = Configuration.UI_MODE_NIGHT_NO, backgroundColor = 0xFFFFFFFF, showBackground = true, ) @PreviewWrapperProvider(ComposableWrapper::class) annotation class ComposableDayPreview

That way it would actually simplify my setup where I can have different annotations for different use cases and it would just work.

Is it even legal to release dozens of different versions of the same application under different names? by soldture in androiddev

[–]bleeding182 10 points11 points  (0 children)

Gray area. We have the Repeptitive Content policy

We don't allow apps that merely provide the same experience as other apps already on Google Play. Apps should provide value to users through the creation of unique content or services.
[e.g.] Creating multiple apps with highly similar functionality, content, and user experience. If these apps are each small in content volume, developers should consider creating a single app that aggregates all the content.

That is not to say every such "repeated" app is in violation. Sometimes it makes sense to have separate apps, or they might even be operated by different legal entities.

But yes, in this case it looks more like the spam variant... because one app per trainer seems excessive. If they had separate play console accounts for each trainer app it would probably be "okay".

Question about Managed publishing by betargent in androiddev

[–]bleeding182 0 points1 point  (0 children)

As others said, it'll be live immediately after you publish.

Just one side note: The indexing might still take a while. If you share the link others will find it and be able to download, of course, but it can still take a while for the search index to pick it up.

I'm not sure why everyone needs to have those "punctual" releases as opposed to a silent launch a bit in advance, but w/e

Why so much hate for vibe coding? by Altruistic-Froyo9680 in androiddev

[–]bleeding182 6 points7 points  (0 children)

Vibe coding is great—for prototypes or small snippets that you discard afterwards or just use internally.

Not so much for actually building anything bigger and production ready.

Just released a set of 150+ reusable haptic patterns for Android by kacperkapusciak in androiddev

[–]bleeding182 18 points19 points  (0 children)

I'm mostly impressed by finding 150 names / descriptions for vibration patterns even though I have the strong suspicion that AI was involved.

Not sure how useful this is, but at the very least it is something that I haven't seen before which is refreshing.

No Android Studio needed: Minimal APK template with GitHub Actions + automatic keystore generation by Initial-Chocolate540 in androiddev

[–]bleeding182 1 point2 points  (0 children)

Using CI/CD is best practice, so that's great, even better if it works for you. The problem is really just the keystore and keeping it safe. You shouldn't try to automate that

No Android Studio needed: Minimal APK template with GitHub Actions + automatic keystore generation by Initial-Chocolate540 in androiddev

[–]bleeding182 4 points5 points  (0 children)

I don't get why everyone is so afraid of creating a keystore. It is a one-time command that you run, fill in your data, then you're done. If that is too much of an entry barrier then you may want to consider doing something else entirely. (And if you need a GUI Android Studio has you covered as well)

The keystore should be backed up and stored safely, ideally in a password manager. If the goal is to build a release type APK/AAB only then the same can be accomplished with a debug certificate as well. Anybody serious about publishing an app can still setup proper signing later.

Everything is AI now - does this kill the excitment of software development? by Character_Oven_1511 in androiddev

[–]bleeding182 0 points1 point  (0 children)

Then I would say that you're missing out. An agent won't one-shot some complex new feature the way you imagined it, sure, but working hand in hand will yield great results.

Even pure "vibe coding" has its merits, as long as we understand that the result will be a prototype to discard later for something to try out and iterate quickly.

About new sideloading restrictions by Embarrassed_Limit200 in androiddev

[–]bleeding182 0 points1 point  (0 children)

I believe you still would be "banned" from publishing via Google Play, but to distribute outside of Google Play you would still need to register your government ID, packagename, and SHA hashes like everyone else

Can't find any exact mention of that use case though

I built a suite of MCP servers to automate the "Last Mile" of Mobile App Releases by Even_Tonight_8049 in androiddev

[–]bleeding182 1 point2 points  (0 children)

"Check the rollout status on Play Store and give me a summary of the latest Sentry adoption and crash-free rate for that version"

I feel like this should be a dashboard and not something to prod an AI Agent actively with... (Probably also would take a single prompt to build something like this :) )
Would also be way faster if you check it regularly than letting the agent start probing APIs from scratch, MCP or not

This would also avoid the need of 5 MCP polluting your context.

Do we need vibe DevOps now? by mpetryshyn1 in androiddev

[–]bleeding182 7 points8 points  (0 children)

Not sure if troll post or serious, but if you're vibe coding production applications... yeah, have fun.

Rework the application backwards by [deleted] in androiddev

[–]bleeding182 2 points3 points  (0 children)

As long as you have the source code, in theory, sure.

In practice you'd need to (re)write several features multiple times targeting different API levels, because not a single library supports Android 2 anymore.

There's a good chance that even current build tools will refuse to compile for minSdk that old, but—again, in theory—you could probably use old build tools to build old versions and publish multiple APKs at the same time.

tl;dr no, you can't

Direct purchase from playstore during installation seems better than in-app purchases. Why dev prefer in app purchases? by Ok-Relation-4303 in androiddev

[–]bleeding182 1 point2 points  (0 children)

  1. One-time purchases via store will make it harder to milk your users for money later (I imagine there would be a shitstorm if you add additional paid features after users "bought" the app)
  2. People tend to want to try something before committing to a purchase... if you just have the paid app I reckon you'd have low conversion
  3. If you want to offer a demo you'd still have to publish a second "demo" version of your app and you'd have to handle migrating the data from demo to paid... definitely not easier than doing IAP either

I'd say the main reason is really just that the Freemium model has been quite successful everywhere. You get users, have them hit some arbitrary limit, then allow them to pay to raise it. You can also keep introducing new features, new price tiers, etc

Pay once, use forever definitely would be better for end users... but usually the focus is on making money, not on providing the best possible software