Closed davekomodo closed 2 weeks ago
The message "This app isn't compatible with the latest version of Android" normally implies that you are running a 32bit apk of your application on a 64bit device.
Change the output to be 64bit and it should resolve this.
Ok I changed the "arch" option in my asconfig (I'm using the as3mxml extension on VSCode) to "armv8" and the warning has gone so that has fixed that issue, thanks.
I moved on to compiling an aab to test it on Browserstack. When testing on an Android 13 device, everything works no problem. However, when testing the aab on an Android 14 device, our app doesn't seem to have internet access. Is there something I'm missing permission wise for Android 14?
Have you added the internet permission to your manifest?
<uses-permission android:name="android.permission.INTERNET"/>
I do have that permission yes. Here is my app descriptor as it stands, this works without issue on my Android 14 phone so I'm not sure what the issue might be:
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions><![CDATA[<manifest android:installLocation="auto" >
<!-- uses-sdk android:minSdkVersion="14" android:targetSdkVersion="34" /-->
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="34"/>
<!-- Permission will be merged into the manifest of the hosting app. -->
<!-- Is required to launch foreground extraction service for targetSdkVersion 28+. -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<!-- Is required to launch foreground extraction service for targetSdkVersion 34+. -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!-- Required permission for App measurement to run. -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"/>
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
<!-- Required by older versions of Google Play services to create IID tokens -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<application>
<meta-data android:name="android.max_aspect" android:value="2.5"/>
<meta-data android:name="android.notch_support" android:value="true"/>
<!-- The activities will be merged into the manifest of the hosting app. -->
<activity android:name="com.google.android.play.core.common.PlayCoreDialogWrapperActivity" android:exported="false" android:stateNotNeeded="true" android:theme="@style/Theme.PlayCore.Transparent"/>
<!-- The services will be merged into the manifest of the hosting app. -->
<service android:name="com.google.android.play.core.assetpacks.AssetPackExtractionService" android:enabled="false" android:exported="true">
<meta-data android:name="com.google.android.play.core.assetpacks.versionCode" android:value="20201"/>
</service>
<service android:name="com.google.android.play.core.assetpacks.ExtractionForegroundService" android:enabled="false" android:exported="false" android:foregroundServiceType="dataSync"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<activity android:name="com.google.android.gms.common.api.GoogleApiActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver" android:enabled="true" android:exported="false"/>
<service android:name="com.google.android.gms.measurement.AppMeasurementService" android:enabled="true" android:exported="false"/>
<service android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:enabled="true" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE"/>
<property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/ga_ad_services_config"/>
<service android:name="com.google.firebase.components.ComponentDiscoveryService" android:exported="false">
<meta-data android:name="com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar" android:value="com.google.firebase.components.ComponentRegistrar"/>
</service>
<activity android:name="com.distriqt.core.auth.AuthorisationActivity" android:exported="false" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
</application>
</manifest>
]]></manifestAdditions>
</android>
<resdir>res</resdir>
<iPhone>
<InfoAdditions><![CDATA[
<key>MinimumOSVersion</key>
<string>11.0</string>]]></InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
<extensions>
<extensionID>com.distriqt.ApplicationRater</extensionID>
<extensionID>com.distriqt.Core</extensionID>
<extensionID>com.distriqt.playservices.Base</extensionID>
<extensionID>com.google.android.play</extensionID>
<extensionID>com.jetbrains.kotlin</extensionID>
</extensions>
I've looked into this and I think the issue could be down to the fact that we are using RemoteObjects for communication. The FaultEvent coming back from the first remote call is giving a status code of 0 and the error code is Client.Error.MessageSend.
The strange thing is that when I debug on my Android 14 phone, everything works ok. Same when using the simulator. It's just when I upload an aab to BrowserStack that the fault occurs.
Any advice or pointers would be appreciated
Have you tried a real device through a test channel on the play store or something? BrowserStack is useful but does have issues.
No but I think I'm going to have to go down that route. I'll report back
Tested on 4 Android 14 devices and all is working correctly. Thanks for the help
Problem Description
I need to compile an app which targets SDK Version 34 for the Play store. I'm trying to debug on my Android 14 phone over USB and I'm receiving the warning "This app isn't compatible with the latest version of Android". I'm guessing this is because something isn't setup/configured correctly in my descriptor file or project.
Can anyone offer any suggestions as to what might be wrong?