Publishing a Hybrid Mobile App to Google Play App Store for Internal Testing

Опубликовано: 24 Июль 2026
на канале: Будни Вайбкод Блогера USA
57
1

Publishing a mobile app to the Google Play Console for the Internal Testing track: I upload the signed AAB (App Bundle), fix the package name, and set Play App Signing. MobDev series: I actually deploy a hybrid personal security app using React Native. Using Claude in the terminal (Ubuntu/WSL), I find the compiled signed AAB in the Windows clone repository. I catch the issue with the Russian-transliterated name in the store URL and force the AI ​​to recreate the app entry as com.iwaskidnapped.app.

WHAT YOU'LL LEARN:
→ Why the Internal Testing track requires an AAB (App Bundle), while APK is only good for screenshots
→ How the first AAB upload fixes the package name and enables Play App Signing (Google stores the distribution key, while the upload key remains with the developer)
→ Where Claude in Ubuntu/WSL finds a signed AAB: build scripts, Gradle outputs, keystore in the Windows clone repository
→ How to force AI to recreate an application entry with the Latin com.iwaskidnapped.app instead of the "lazy" name in the URL
→ Who can see closed test releases (only the owner, team, and testers)

TIMECODES:

Intro for new viewers
0:00 Intro: The channel's format is not instructions, but a real-world approach to overcoming the challenges of creating an IT product; beginners should watch the episode from part 1
5:48 Continuing with mobile development; Inviting you to a hackathon

Looking for a compiled AAB using Claude
9:14 Switching to Ubuntu/Linux, launching Claude, introducing SDLC: asking them to read the MD instructions and find the completed AAB
11:03 The signed AAB is not in the WSL copy: it's a build artifact, not in Git (.gitignore)
12:09 Claude finds the Windows Clone, reads the build scripts and keystore; finds: the test PC already has an L4 build of the signed release AAB from Origin Main
15:31 Copying the path to the AAB and asking Claude to upload it to the console

First AAB upload to Google Play Console
18:13 Claude: The first AAB upload freezes the package name permanently and enables Play App Signing
18:36 Checking that com.iwaskidnapped.app is correct; Checking the package inside: the 54.6 MB file is signed with an upload key
19:40 Limitation: the browser AI can't upload the file automatically — I'm manually using the native selection dialog
20:25 Opening the Internal Testing track, Create release; reading about the integrity of "Release signed by Google Play," filling in the name and release notes
22:40 Uploading the AAB itself through the dialog; the file is optimized and verified

Fixing the package name in the store URL
26:09 Wrong name "me release AAB": Google ignores the file name, reads the package internally; I rename it in Explorer
30:26 Sending Claude a "+": the bundle is already uploaded, the exclamation point doesn't block it
31:04 Stop at the red screen: I don't want the Russian "me" in the store URL; I force Claude to recreate the entry for the Latin com.iwaskidnapped.app
37:36 Result: The AI ​​recommends what's easiest for it, not what's best for me—unless I steer it to the right option.

Bundle analysis: ABI, API level, visibility
38:42 Bundle card: version 1, API level 24, Target SDK 36, ABI ARM64-v8a, armeabi-v7a, x86, x86_64—Claude read data from a file.
40:32 Release visibility: Only the owner, console team, and testers see a private test; the production audience doesn't see it.

Release notes, testers, and publishing
46:00 Claude Desktop with browser control; There are no package errors on preview and confirm—the name matches.
46:50 Warning about deobfuscation/R8/ProGuard mapping: not critical for testing, in tech debt.
51:38 Describing the future: a React Native app for Android and iOS, with no time or resource constraints.
52:47 Save and publish: Internal Testing—not a public release, reversible; the release is published (1 version code, not reviewed).
53:44 Testers tab: Claude creates an email list, adds my email; I get an opt-in link and log in to the correct account.

Testing the installation via the Play Market
57:39 Multi-account issue: the link opens with my main Gmail, not the test one; looking for a Switch account.
1:00:48 I forward the link to my phone—a Google Play invitation for testing opens.
1:01:24 I read and accept the tester's terms and conditions. "Item not found," "App not available" on the second phone due to the wrong account—multiple accounts are interfering.
1:08:19 I ask Claude to find specifics (not guesses) about multi-accounting on the forums. Conclusion: the link is strictly tied to the account, plus the first release takes 1-2 hours to roll out—normal.
1:11:15 Results: the app was successfully rolled out to Google Play, Google accepted the code. Installation worked on one phone, but multi-accounts interfere with additional ones.

Mobile App Creation Playlist:    • Создание гибридного (Android+Apple) мобиль...  
Part 37 MobDev: Google Play Console, APK vs. AAB + app signing:    • i18n ignore ошибка CI, APK = AAB + подпись...  
Pa...