How to generate Android App Bundle with C++ builder 11.2? - android

I can not figure how to generate an Android App Bundle with C++ builder 11.2.
At this stage, I'm just checking all the steps of an android app creation, from scratch up to Google Play beta testing.
For this purpose, I wrote a very simple piece of code (one TButton with one TLabel).
I compiled the code with the following options:
platform android 32bits
SDK API 31 32bits
release
configuration development
C++ builder generates an APK which runs smoothly on my phone which is great!
My next step is to download the app on the Google Play store. I have created a Google Play store developer account for this test however I'm stuck as I can not upload the apk file as Google Play accepts Android App Bundle files only.
I have googled and found some information about generating AAB files with Delphi and the Android 64 platform here https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Submitting_Your_Android_App_to_Google_Play however I can not duplicate this with C++ builder 11.2
There is no 64bits android platform available (despite the 64bits SDK being installed) and I can not find any relevant option in the project options related to AAB files.
I have also compiled the app with the "Application Store" option but I could not find any AAB file in my project.
What am I doing wrong?

C++Builder 11.2 does not compile for 64-bit Android. See Supported Target Platforms.
There is an open RSP ticket about this: RSP-24562: 64-bit Android C++
I believe this is as a major weakness with the current RAD Studio development system, and I would suggest all users encourage Embarcadero to get the Android 64-bit C++ compiler up and running.

Related

Converting 32-bit android Applications to 64-bit Applications

when i try to upload my up to google play i receive this erreur
Error
This release is not compliant with the Google Play 64-bit requirement
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 6.
Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code it needs. This avoids increasing the overall size of your app.
yes, the issue is you have not updated your library in Gradle some of your libraries still build in native 32-bit that's why u are getting this issue to fix this see all folders have the same no of file. And update ur Gradle libraries

Error while uploading unity app to Play Store

I have made a game for Android. I have develop and built it in Unity but when I try to distribute the game to the play store I get the following error:
This release is not compliant with the Google Play 64-bit requirement
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 3.
Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code it needs. This avoids increasing the overall size of your app. Learn More
Can someone help with this?
In the Player Settings window, under the Other Settings tab, there are checkboxes for what target architectures your app supports. Uncheck the x86 one, if it's there (that depends on your Unity version), and make sure both ARMv7 and ARM64 are checked.
For x86, Unity supports only 32 bits. So if you check that target, the Play Store will complain that no 64 bits version is provided for the x86 platform.

How to optimize apk per ABI when using xamarin and visual studio?

I have a xamarin forms solution with visual studio 2019 on mac.
I try to publish my apk on google play console but it says that they are Unoptimised APK.
In visual studio, I went to Android project options > Android Build.
In release configuration, I checked Generate one package (apk) per select ABI. In the advanced tab, I checked the 4 supported ABI. Then I published and then uploaded 4 apks to google play console.
It doesn't seem to be enough, the website advises me to:
- Use the Android App Bundle to automatically optimise for device configurations (Not sure it is supported for xamarin solution)
- or manage it yourself with multiple APKs (which I did with no success)
I cannot ignore the warning, the button to go to next step is grayed.
Unfortunately Xamarin Android does not yet support App Bundles.
They are working on it and will be available soon:
https://github.com/xamarin/xamarin-android/issues/2727
The PR for the build task is already merged: https://github.com/xamarin/xamarin-android/pull/3146
if you want to try the preview version you can try this (from the Xamarin team):
you should be able to download a visx from our CI system via the Build Status section of our README.md (see https://github.com/xamarin/xamarin-android#build-status) and then picking a Job and going to the Azure Artifacts page. Or just use this to get the latest stable build https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/lastStableBuild/Azure/
Note that these will be the Open Source bits only. So some things (like fast deployment) won't work. But if you are building a release app that should be ok.
The only thing you can do until the App Bundles support will be released, is to use one APK per ABI and ignore the warning from Google Play
Until all your GRAY CHECKS in Google Play Console (on the left side menu ) become green, you will not be allowed to publish in play console and ignore the warning.
New in Visual Studio 2019 for windows 16.4 and for Mac 8.4
added support for building android app package aab format

Continue native android in Xamarin

I have a "normal" Android app, made in Eclipse/java, published in Play Store, already at version 3.x, all works fine.
Now I am thinking to move the project to Xamarin/c#, and make the 4.0 there.
My question, what should I take care/be aware, that this change should be a natural continuation of the 3.x from Google Play/Users perspective?
So that I could simple upload the APK made by Xamarin to Dev Console as a new version upgrade, and not as a new App.
Like:
Existing signing key should be reused in Xamarin?
Package name (java <> xamarin c#) must be the same?
???
Thanks
There is absolutely no difference for google what language you natively used to write an app. By the way Xamarin will be compiled to java before packaging into apk.
Also Xamarin uses the installed Android SDK and installed Java SDK you have used before to sign the apk and compile the app. It also is going to use same keys so sign the apk.
So no worries, keep same package name and you're good for the update.

How to set CPU architecture in APK for Google Play

I have created an application for android in DELPHI XE8. If I want to publish it on Google Play and Google it shall be categorized device platforms ARMEABI, ARMEABI-V7A, MIPS and x86 while DELPHI XE8 (as well as all previous versions) only supports architecture ARMEABI-V7A.
Do not come to me as a professional publishing application on Google Play that your application installs and someone will message to him that the platform is not supported.
Analysis APK installation package generated DELPHI XE8 I discovered that it is automatically generated for all of the above platforms.
Google on its website (http://developer.android.com/google/play/filters.html) recommends solutions using Android NDK - unfortunately, I still could not figure out how to do that ...
As another solution is recommended to read and edit ANDROID.mk (unfortunately, this file does not generate DELPHI XE8).
The question is how to achieve that DELPHI XE8 compiled APK file only for ARMEABI-V7A?
Anyone have any experience or a solution to this problem?
So I found a solution and it's very simple and plain:
Simply in DELPHI XE8 menu Project -> Deployment (section RELEASE CONFIGURATION - ANDROID PLATFORM) uncheck these items:
$(BDS)\lib\android\Release\x86\
$(BDS)\lib\android\Release\mips\
$(BDS)\lib\android\Release\armeabi\
and let checked this item
Android\Release\ (remote path is library\lib\armeabi-v7a)
perform Build application and then Deploy.
From now on Google Play displays only supported devices to the native platform ARMEABI-V7A.

Categories

Resources