Android target 34

Any idear we we can build for version 34 ?

1 Like

Responding to follow this question.

I just tried submitting a new update targeting min SDK version 34
preference name=“android-targetSdkVersion” value=“34”
It went through the VoldBuild process fine and gave me an apk file. I created a new release in Google play console and I’m getting a message saying the app doesn’t adhere to Google Play Developer Program Policies. when I click on the “go to policy status” screen it’s telling me it doesn’t meet the minimum APK even though the release information shows Target SDK = 34.

I’m caught in an infinite loop it appears.

I also have another note which may or may not be relevant. It says “App Integrity, releases not signed by Google Play. Google Play’s integrity and signing services help you to ensure your apps and games are experienced the way you intend”. then there are links for “get integrity protection” and “Use play app signing”. I don’t know what either of these things are, or if they are required. Since I used the Volt signer tool to create the keys I don’t want to do anything to screw that up.

So I got past that screen. After scrolling way down on the screen I was finally able to see the Release notes section. I updated the notes and clicked the “next” arrow and was able to submit it for review. I suspect things will go OK from here on out.

I just want to confirm that we’ve had several reports that SDK 34 is working without issue. If you are running into problems please let us know.

Confirmed, my app was released last night and is working as expected.

Did you also set compileSdkVersion? I’m trying for this:

    <engine name="android" spec="13.0.0" />        
    <preference name="android-minSdkVersion" value="22"/>
    <preference name="android-targetSdkVersion" value="34"/>
    <preference name="android-compileSdkVersion" value="34" />

I am having this issue when I upload the build to Google Play Console with SDK 34.

com.google.android.play:core:1.8.3

Google Play Core (com.google.android.play:core) agregĂł esta nota para la versiĂłn del SDK 1.8.3:

Update your Play Core Maven dependency to an Android 14 compatible version! Your current Play Core library is incompatible with targetSdkVersion 34 (Android 14), which introduces a backwards-incompatible change to broadcast receivers to improve user security. As a reminder, from August 31, Google Play requires all new app releases to target Android 14. Update to the latest Play Core library version dependency to avoid app crashes: Google Play Core Library の概要  |  Android Developers

No, here is what I have:

<preference name="android-minSdkVersion" value="22"/>
<preference name="android-targetSdkVersion" value="34" />

This is likely from a plugin, or a problem in your config.xml. It may be worthwhile to start a new thread and post your config.xml.

My settings work (all the way), but I guess they are somewhat redundant.

I have the same problem. I’ve upgraded my config.xml file with these lines:
<engine name="android" spec="14.0.0" />
and
<preference name="android-targetSdkVersion" value="34" />
yet the Play Store is still saying my app is not compliant, even though it’s been passed to Full Rollout

There is no engine 14. Please try 13.

Can you show exactly what the Play Store is saying? Most of these issues seem to be bad UX in the Play Store rather than an actual problem with the app, but if it is an app problem, we’ll help you get it resolved.

Hi

Are you sure about engine 14? Here is the message from the Play Store
Screenshot 2024-08-01 at 15.30.44
As you can see, this specifically mentions Android 14. The app works fine and has been accepted for sale.

You’ll notice that the latest version of the engine is 13: https://www.npmjs.com/package/cordova-android

This engine will build for Android 14.

Can you share your entire config.xml and a redacted version of your voltbuilder.json?

I’ve adjusted my config.xml to engine 13. Otherwise here are the config.xml and redacted voltbuilder.json files:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.lion-ridge.LR-Sel" ios-CFBundleVersion="1.40" version="1.40" 
        xmlns="http://www.w3.org/ns/widgets" 
        xmlns:cdv="http://cordova.apache.org/ns/1.0" 
        xmlns:gap="http://phonegap.com/ns/1.0" 
        android-packageName="com.lionridge.lrsel">
    <name>LR-Sel</name>
    <description>
 Simplified version of LionRidge for small format devices - this version deals with Selection solutions only
</description>
    <author email="brian.preece@lion-ridge.com" href="">
 Brian Preece, LionRidge Ltd 
</author>
    <content src="index.html" />
    <access origin="https://www.samoperational.co.uk" />
    <allow-intent href="https://www.samoperational.co.uk/*" />
    <access origin="http://www.ypsilonsoftware.co.uk/*" />
    <allow-intent href="http://www.ypsilonsoftware.co.uk/*" />
    <!-- <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" /> -->
    <icon src="icon.png" />    
    <splash src="splashscreen.png" />
    <preference name="Orientation" value="portrait" />
    <config-file target="AndroidManifest.xml" parent="/*" mode="merge">
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.INTERNET" />
<!--<uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.camera.autofocus" />-->
    </config-file>
    <platform name="android">
        <engine name="android" spec="13.0.0" />
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
          <application android:usesCleartextTraffic="true" />
        </edit-config>
        <preference name="AndroidXEnabled" value="true" />
        <preference name="android-targetSdkVersion" value="34" />
        <preference name="AndroidPersistentFileLocation" value="Compatibility" />
        <preference name="android-build-tool" value="gradle" />
        <allow-intent href="market:*" />
        <preference name="splashScreenDelay" value="2000" />
        <preference name="AutoHideSplashScreen" value="true" />
        <preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/splashTemplate.png" />
        <preference name="AndroidWindowSplashScreenBackground" value="#000000" />
    </platform>
    <platform name="ios">
        <!--<preference name="WKWebViewOnly" value="true" />
        <feature name="CDVWKWebViewEngine">
            <param name="ios-package" value="CDVWKWebViewEngine" />
        </feature>
        <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />-->
        <preference name="scheme" value="app" />
        <preference name="hostname" value="localhost" />        
	<preference name="target-device" value="handset" />
        <icon height="20" src="www/icons/Icon20x20.png" width="20" />
        <icon height="40" src="www/icons/Icon40x40.png" width="40" />
        <icon height="180" src="www/icons/Icon180x180.png" width="180" />
        <icon height="80" src="www/icons/Logo_80x80.png" width="80" />
        <icon height="120" src="www/icons/Icon120x120.png" width="120" />
        <icon height="1024" src="www/icons/Logo_1024x1024.png" width="1024" />
        <splash height="2436" src="www/icons/SplashScreen1125x2436.png" width="1125" />
        <splash height="1136" src="www/icons/SplashScreen640x1136.png" width="640" />
        <splash height="1334" src="www/icons/SplashScreen750x1334.png" width="750" />
        <splash height="2208" src="www/icons/SplashScreen1242x2208.png" width="1242" />
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
<!--        <edit-config target="NSLocationAlwaysUsageDescription" file="*-Info.plist" mode="overwrite">
            <string>Location not used by LionRidge</string>
        </edit-config>
        <edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="overwrite">
            <string>Location not used by LionRidge</string>
        </edit-config>-->
        <edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="overwrite">
            <string>Camera only used for bar code reading when selecting an alternate server</string>
        </edit-config>
        <edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="overwrite">
            <string>Photo library not used by LionRidge</string>
        </edit-config>
    </platform>
    <!--<plugin name="cordova-plugin-camera">
        <variable name="CAMERA_USAGE_DESCRIPTION" value="Used for bar code scanning only" />
        <variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="Not used" />
    </plugin>-->
    <plugin name="cordova-plugin-dialogs">
        <variable name="CAMERA_USAGE_DESCRIPTION" value="Used for bar code scanning only" />
        <variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="Not used" />
    </plugin>
    <plugin name="cordova-plugin-file">
    </plugin>
<!--    <plugin name="cordova-plugin-geolocation">
        <variable name="GEOLOCATION_USAGE_DESCRIPTION" value="Not used" />
    </plugin>-->
    <plugin name="phonegap-plugin-barcodescanner-android12" />
    <plugin name="cordova-plugin-globalization">
    </plugin>
    <plugin name="cordova-plugin-inappbrowser">
    </plugin>
    <plugin name="cordova-plugin-splashscreen">
    </plugin>
    <plugin name="cordova-plugin-statusbar">
    </plugin>
     <plugin name="cordova-plugin-device">
    </plugin>
      <plugin name="cordova-plugin-vibration">
    </plugin>
    <!--   <plugin name="cordova-plugin-file-opener2">
    </plugin>-->
       <plugin name="cordova-plugin-document-viewer">
    </plugin>
   <plugin name="cordova-android-support-gradle-release">
        <!--<variable name="ANDROID_SUPPORT_VERSION" value="6.5" />-->
    </plugin>
    <plugin name="cordova-plugin-androidx-adapter" />
    <access origin="*" />
    <allow-intent href="*" />
    <allow-navigation href="*" />
    <allow-navigation href="file:*" />
</widget>
And voltbuilder:

{
“androidAlias”: “key0”,
“androidAliasPassword”: “…”,
“androidKeystore”: “certificates/android.p12”,
“androidKeystorePassword”: “…”,
“googlePlayTrack”: “production”,
“iosDistP12”: “certificates/distribution2023.p12”,
“iosDistP12Password”: “…”,
“iosDistribution”: “certificates/LRSel_Distribution_2024.mobileprovision”,
“iosPackageType”: “app-store”,
“itunesAppPassword”: “…”,
“platform”: “android”,
“release”: “release”,
“itunesShortName”: “7MSQX8WS27”,
“iosDevP12”: “certificates/Development_2023.p12”,
“iosDevP12Password”: “…”,
“iosDevelopment”: “certificates/LRSEL_Development_2023.mobileprovision”
}

Nothing stands out as being wrong - can you also share your build log?

Shall I build again with the revised config.xml? (i.e. with engine 13). And how do I send you the build log?

Apologies, I missed your reply - please attempt building with engine 13 and you can link the build log here or send it to support@volt.build

Thanks, James, no worries. I’m on holiday for a few days so it will be next week before I can respond