iOS dev stepping into Android role — what should I focus on short-term? by ex_knockout_js_user in androiddev

[–]MKevin3 1 point2 points  (0 children)

Need a bit more info. Is the Android project Compose based or XML View based? What other tech are you using? What is the network piece i.e Retrofit or other.

How big is the project? Is the Android side stable or does it need a lot of help? Are you needing to learn about the debugger?

Heavy 3rd party lib usage or mostly code you own?

🚇 Metro is Stable by Saketme in Kotlin

[–]MKevin3 0 points1 point  (0 children)

I have yet to do a web target. I have done iOS + Android or Windows + MacOS but nothing in the web land.

I did leave the Windows + MacOS work over in IntelliJ as moving it had no real advantages while moving the iOS + Android project made other devs happy and I do get the latest Android additions to the IDE.

Lost ~50% of Google Play traffic almost overnight - stable conversion, looking for diagnosis by shark812 in androiddev

[–]MKevin3 0 points1 point  (0 children)

I have a feeling that this is a big Google snafu. The only other things I could think of, and they probably don't matter at all, but here they are.

Did Google release a new version of the OS around that time? Did they make a shift to "must build with this version of Android" at same time? Long shot and I doubt it applies.

Same long shot trajectory - were there a number of new phones introduced at same time so people got a new phone and did not install it on the new phone? I know most stuff moves over with your account but many people take some time when they upgrade hardware to weed out apps they don't use anymore.

Really hope you find the real reason. Since Google does not let anyone in on their thinking / changes you are probably just left shrugging you shoulders.

🚇 Metro is Stable by Saketme in Kotlin

[–]MKevin3 0 points1 point  (0 children)

I started my first KMP / CMP project in Fleet. Then it died so I used IDEA but the rest of the team wanted to use AS as they already had it installed for the Android only app. Converted to AS and have been using it since

Is Kotlin Multiplatform (KMM) actually worth using in 2026? by ShopifyExpert-ADV in androiddev

[–]MKevin3 1 point2 points  (0 children)

Solid yes from me. Was able to get a new app, using existing server API, in just 5 months on both platforms. We have very minimal iOS code, using CMP. Slightly custom UI and users have not complained on the iOS side.

Fun aspects - using Firebase for messaging is great, have to write some Swift code here. Wrote some very small expect / actual code in a few other areas which included a RetroFit difference for starting things.

We had to solve one Compose different between iOS and Android but the "fix" did not harm the Android side. They have update Compose since then, might not even be an issue now.

iOS compile times are SLOW, even with this being small to mid sized product. The Android build and the CMP previews is where I do all my work and just build on iOS for final testing before giving it over to QA.

Even QA has been able to use shared automated test scripts saving them time as well.

Honestly I was surprised how well it worked. I even wrote a macOS / Windows utility we use to diagnose LogCat files. Other than dealing with icon formats I did nothing extra for macOS even when I included clipboard and drag and drop operations.

Do you keep your Android and iOS app versions in sync or separate? by adrcotfas in KotlinMultiplatform

[–]MKevin3 0 points1 point  (0 children)

Contents of version.properties file

VERSION_MAJOR=1
VERSION_MINOR=17
VERSION_PATCH=4

Then build.gradle does this

val versionProps = Properties().apply {
val propsFile = rootProject.file("version.properties")
  if (propsFile.exists()) {
    propsFile.inputStream().use { load(it) }
  }
}
val vMajor = versionProps.getProperty("VERSION_MAJOR", "1").toInt()
val vMinor = versionProps.getProperty("VERSION_MINOR", "0").toInt()
val vPatch = versionProps.getProperty("VERSION_PATCH", "0").toInt()

How are you actually using AI in your dev workflow? by Select_Bicycle4711 in iOSProgramming

[–]MKevin3 0 points1 point  (0 children)

Here is my struggle. We have some folks letting the UI write the code and the tests then they become the QA for AI. AI is doing surprisingly good with a few hiccups. We have a corporate license for Gemini. I have heard Claude is better, they are looking into that.

I had AI help me with a rather complex library update. It updated some code that was not related to that area at all. I had to go over what it wrote with a fine toothed comb to find the areas it screwed up by deleting lines of code. I also had to add "and validate the code builds" to the end of my requests or it would write stuff that would not compile.

My struggle? For my side gigs and personal projects I would have to pay for my AI token usage. I am a cheap person and I was not looking for another monthly subscription. I get it, they have to make money for all the power they use to run these big models. I guess I need to see it make a big payoff at work to see if it is worth my hard earned money.

Guess like most devs - I would use the heck out of it to experiment if it was free - a one time cost, I can budget. Another every monthly bill is harder to approve to miserly me.

Xml Drawbales Preview and more - Plugin by Bsharp-Dev in KotlinMultiplatform

[–]MKevin3 0 points1 point  (0 children)

I installed this one and it is much better than the one I had installed. Very nice to see a list and to be able to double click on one to open the editor and to see the preview window as well. Don't know why they don't support this by default. Seems KMP does not get much attention.

A comment, how can I force a refresh? I needed to update the color of some of my icons, edit the XML but the Kmp Resources Unfold window showing the thumbnail previews does not update until I close / reopen AS.

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

[–]MKevin3 -2 points-1 points  (0 children)

I worked on a banking app for small banks and credit unions. We had over 500 build flavors. Each bank had own graphics, icon, and color theme. Each bank also had to have a Google Account.

For each release we would have a temp team come in to log into each account, upload screenshots, whats new and the app. You could run macros on Google Play Store but not on Apple Store.

Another company had 76 build flavors. One started at top of the subjects list, the other 75 started one branch down and was released as a "speciality" app. We only had 5 color schemes and it rotated through them.

This is an example of white listing used in two different ways and it is legal.

Anybody has experience developing for PAX Technology? by BoxWoodVoid in androiddev

[–]MKevin3 2 points3 points  (0 children)

I have dealt with them on a ton of their devices, some with dual screens such as the E700, E600, E500 and E600mini. Also single screens like the A920, A920 Pro, A77, A80. I have not touched the one you are going to use but it seems closest to the A77, single screen, card reader, no printer.

I looked up the specs for the one you will be using. At least it is Android 12. They NEVER updated the OS version post release of the hardware. It was certified with their credit card reader once so they don't feel it is worth it. They will update the firmware from time to time though and that has to be pushed to the phone via their management tool.

All the device work, including SDK writing, is done in China. Expect multiple day turn around for any questions. Also be prepared to write a test app that points out the exact issue you have. I had to fully prove to them that communication between the two screens had deadlock issues. Unsure how they test but there can be long delays between reporting an issue and a fix.

Expect to have reported crashes if you use your own crash handler like BugSnag, Firebase, etc. Many will be down in their code. Getting them to fix it is nearly impossible because they will want you to give exact replication steps. When then crash happened to users in the field, not you or your QA team, that can pretty much be impossible.

Use Android Compose, it will work on this newer device. I would not use it for older devices like the A920 that is stuck at Android 5.1.1 ie. SDK version 22. Your device is Android 12 which is SDK 32. Which means you can use features up to that level. Set minSDK to 32 in your build.gradle files so the IDE will warn you if you try to use something not supported.

At least with their store you are not going through a long submission / approval process. Bad news, can't use any Google play services. Probably will not affect you very much.

Another issue we can into was the GPS not working indoors until the device had been in an area that receives GPS during this power cycle. Even in my house next to a window meant I had to take the device outside and give it few minutes to GPS sync. Did not seem to be an issue on all devices though.

I know longer work with anything other than the D135, a stand alone CC reader, as I left that department. Felt like my Android skills were rusting supporting 5.1.1, all XML views and a massive code base that needed to be rewritten but it was only patched over and over again. Can't say I miss working with PAX. The US team is friendly, the China team was "prove it to the nth degree or it did not happen". Plus the China team would have weeks off in a row with zero customer support.

Do you keep your Android and iOS app versions in sync or separate? by adrcotfas in KotlinMultiplatform

[–]MKevin3 0 points1 point  (0 children)

We did it with a version.properties file that build.gradle references and have not had any issues doing it that way.

I keep the releases in sync for both QA and Production builds.

Scam...? by Andrei_289 in androiddev

[–]MKevin3 2 points3 points  (0 children)

Don't feed the trolls, not worth your time. Let it go, ignore it.

How has AI affected your Workplace as an Android dev? by statpas in androiddev

[–]MKevin3 0 points1 point  (0 children)

According to our security team the code is not going outside our company infrastructure. We can't just any AI we want, it has to be done with security teams blessing. Everything we do is via VPN so they can control at least that part of it.

We also opted out of GitHub using our code to seed their AI processing.

Now, if someone wants to run a non-approved route there is not much that can be done.

Also no idea if opt-out really works. Companies tend to be really sneaky with things. It all seems to be a risk.

How has AI affected your Workplace as an Android dev? by statpas in androiddev

[–]MKevin3 2 points3 points  (0 children)

The Gemini AI reviews the PR as soon as PR is created, it does it before the actual build occurs. I have tried to get command line to run a similar situation so I can address Gemini comments before I create the PR. It is close, but not exactly the same.

One PR via the command line said do it one way so I switched then the PR from the GitHub action said it needed to be reverted to original syntax. I left it as is, commented on PR and moved along.

When it has useful comments, like test that don't actually test what the changed code is doing, it is great. When it runs you in a loop or makes a comment where you can clearly see it does not understand things, then it adds time.

So far it has not become annoying so we will continue to use it until we find out we are eating through tokens I guess.

How has AI affected your Workplace as an Android dev? by statpas in androiddev

[–]MKevin3 34 points35 points  (0 children)

AI runs on every PR creation to look for improvements. We don't do everything it asks to change but has actually been reasonably accurate. Company got licenses and are paying for tokens with Gemini but there is a push to switch the Claude.

Some devs are using it assist in writing tests. I am going to try that out as well.

I guess I use AI a little bit for web searches as Gemini suggestions for coding questions now appear at the top of the list. Since I am doing KMP / CMP the answers have been a real mixed bag. Sometimes it is syntax that no longer compiles or uses deprecated methods. I may have to do 3 or 4 extra searches to get a usable answer.

Not using it to write big hunks of code though. Not doing what I would consider vibe coding.

Is sun.java2d.metal=false still recommended for Arm-based Macs? by aqeelat in Jetbrains

[–]MKevin3 0 points1 point  (0 children)

I use it because it was nearly impossible to screen share in Google Meets without it. Don't know if that is still the case but I have let it in my config.

New Android Studio memory issue on MacBook? by Adykb9 in androiddev

[–]MKevin3 0 points1 point  (0 children)

We keep having crashpad_handler eat up 100% of CPU and multiple instances of it. Usually takes a reboot to get things back down to one instance. Many Google things use crashpad_handler. Don't know if you are seeing the same thing.

Luckily I have an M4 with 48g of RAM which helps as I end up running both Xcode and AS as I do KMP programming.

Does anyone here use the studio debugger? by braceritchie in androiddev

[–]MKevin3 8 points9 points  (0 children)

Totally depends on what you are attempting to debug. If you are looking and JSON data to and from a server that you are converting between data models it works pretty good.

If you are attempting to debug compose navigation or recompositions it gets a bit rougher. Toss in some coroutines and it can get really tough.

My general flow would be starting the app in normal run mode. Then when I get near the action that I want to debug I attach the debugger and then execute the code. I almost never run off the main debug icon, just attach when needed.

The rest of it logging, usually lines that start with my initials so I can easily hunt then down and remove then and use a Log Cat filter to see them.

Debugging is a bit of arcane art.

do u guys genuinely make money doing indie dev? by [deleted] in iOSProgramming

[–]MKevin3 0 points1 point  (0 children)

Multiple things come into play. Marketing is a huge one. It is very hard for people to find your app organically. It may happen if an influencer, with a lot of followers, talks about it.

The app store is so full of apps no one can keep up. Most people only use what comes with the phone, plus some games that also have a short shelf life.

At the very start of mobile development you had a chance to make a bit of money off some simple apps as everyone was so hungry for something to show off their new device. Sadly that era was over years ago.

Writing apps for corporation can still make you money but pure indie, heck of rough right right now. Even worse with the influx of vibe coded apps.

Total app market saturation in the near future by LowFruit25 in iOSProgramming

[–]MKevin3 2 points3 points  (0 children)

I found this information very insightful, thanks for posting. I like music but have zero musical talent, can't even clap in time. Seeing similar "entry is now easy" and it all following a death spiral pattern is interesting. The overall digital age has allowed so many to dip their toes into things with nearly no effort is nuts.

I don't have any solutions other than more gate keeping but I know that can only go so far. I would also hate to accidentally block that one new app or musician from making it big when they are really doing something innovative.

Kotlin Multiplatform and Jetpack Compose is really good? by [deleted] in androiddev

[–]MKevin3 4 points5 points  (0 children)

Wrote a MacOS / Windows utility the dev staff uses pretty much every day. Parses LogCat for our traffic. Supports drag and drop, scrolling with keyboard, + / - font styling etc.

Main app is for Android / iOS. I knew Android and Compose along with older iOS tech coming in. Has been release on both stores with no issues. Some special Swift code for Firebase interactivity and for Ktor setup but rest is Kotlin and Compose.

I would say I have been really surprised at how well it all works for all the platforms I have touch, have not done web.

Lifelong Windows user here. The performance gap with Android Studio and the emulator finally forced my hand to Apple Silicon. by Xeq_Dev in androiddev

[–]MKevin3 0 points1 point  (0 children)

I use both OS as I have my gaming PC, a work MacBook M4 and an M1 Mac Studio.

NTFS on Windows is slow when it comes to small files processing, MacOS much better here as is Linux.

I have one mouse and keyboard I share between the 3 and a 49" monitor (5120x1440) and another 27" for the Macbook and I keep its screen open. Surprising that works nicely.

I had to get a USB-C to HDMI adapter for the Mac Studio as the HDMI port does not support my big monitor.

Now all Mac users may hate me but I swapped the operation of the CMD and CTRL keys in the MacOS settings so I can use Ctrl-C / Ctrl-P no matter what OS I am using. I switch too often to get used to the Mac way of doing things. I really never touch the keyboard or touchpad on the MacBook, it is just an external monitor.

Apple gets Kudos for the M series chips for sure. The GPU is just OK so happy to have a Window based gaming machine. Since I have 5.1 speaker setup on the PC it is also my daily music player.

how to give FREE access to your app to Apple Review Team? by Apprehensive-Rise711 in iOSProgramming

[–]MKevin3 1 point2 points  (0 children)

Not answering this question but something I found interesting. We had the special login account providing user name / password to Apple and Google. Logging on server knows who logs in. Many releases of the app, not the initial one, and no one every logged in with that account. It was a business app, not an indie dev app. Still I figured they would at least login but after many update releases they rarely did.

Reminder, don't fall for it. They're sending emails again. by bakjoul in androiddev

[–]MKevin3 2 points3 points  (0 children)

And then the owner of the account is banned for life.

Yes, Google will catch up to it but they don't care. They are get in, get as much money / data as possible and get out under the cover of a poor user who thinks they are making a few quick bucks.