Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PWA Builder]: Support for Android SDK 34 #4766

Closed
kiajiko opened this issue Jul 4, 2024 · 57 comments · Fixed by pwa-builder/CloudAPK#126
Closed

[PWA Builder]: Support for Android SDK 34 #4766

kiajiko opened this issue Jul 4, 2024 · 57 comments · Fixed by pwa-builder/CloudAPK#126
Assignees

Comments

@kiajiko
Copy link

kiajiko commented Jul 4, 2024

Tell us about your feature idea

Google again changed the API level requirements.
App must target Android 14 (API level 34) or higher starting from Aug 31, 2024

Current supported version is 33

bubblewrap does not seem to be updated so far, too.

Do you have an implementation or a solution in mind?

Download source code from pwabuilder.com and compile with new version.

Have you considered any alternatives?

No response

@jere-mie
Copy link

jere-mie commented Jul 5, 2024

Why put a start date of Aug 31, 2024 if they're going to start enforcing it sooner 😭 hopefully this gets fixed soon enough. My guess is it isn't an issue on PWABuilder's side, rather on Bubblewrap's side

@jonkerw85
Copy link

@jere-mie Yes, remarkable, I noticed that too. Maybe the different teams within Google are not aligned.
https://developer.android.com/google/play/requirements/target-sdk?authuser=2
image

@SheepBroadcast
Copy link

Same here

@userofit123
Copy link

Been having this for a few days also

@MrAntix
Copy link

MrAntix commented Jul 6, 2024

Please use the thumbs up on the original issue, don't "same here" the thumbs up will bring attention better and leave the issue readable down the line - thank you :)

@Twey
Copy link

Twey commented Jul 8, 2024

In the meantime you can work around this by changing the targetSdkVersion in the manifest manually. You'll need zip, protoc, bundletool, and a JDK (e.g. OpenJDK) for jarsigner.

  • unzip https://maven.google.com/com/android/tools/build/aapt2-proto/3.6.3-6040484/aapt2-proto-3.6.3-6040484.jar to the directory $AAPT_PROTO
  • unzip your PWABuilder-built AAB (unzip YourApp.aab) and cd base
  • decode the manifest: protoc -I $AAPT_PROTO Resources.proto --decode=aapt.pb.XmlNode <manifest/AndroidManifest.xml >manifest.txt
  • edit targetSdkVersion in the manifest.txt and change int_decimal_value: 33 to int_decimal_value: 34
  • reencode the manifest: protoc -I $AAPT_PROTO Resources.proto --encode=aapt.pb.XmlNode >manifest/AndroidManifest.xml <manifest.txt
  • zip up your base directory: zip -r base.zip *
  • use bundletool to bundle up the base module: bundletool build-bundle --modules base.zip --output your-app-signed.aab
  • use jarsigner to sign your new AAB: jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore signing.keystore your-app-signed.aab my-key-alias (enter the keystore password and key password from signing-key-info.txt when asked)
  • submit your-app-signed.aab to the Play store

@maiconcarraro
Copy link
Contributor

^ There is also another easy workaround if you can use Android Studio, you can select to include Source code while generating the Android package on PWABuilder, so you can open the project and update the compilesdk/targetsdk, and build/sign again.

@jgw96
Copy link
Contributor

jgw96 commented Jul 8, 2024

Hello all! Sorry for the delay, I was on holiday for July 4th here in the US. I am working with our team to get Bubblewrap + PWABuilder updated and will post here when things are updated. Both @Twey and @maiconcarraro 's workarounds are great. Using Android Studio is what I would recommend for now if you are blocked.

@jgw96
Copy link
Contributor

jgw96 commented Jul 8, 2024

And this is the issue to get Bubblewrap updated GoogleChromeLabs/bubblewrap#860

@jonkerw85
Copy link

jonkerw85 commented Jul 9, 2024

@jgw96 and @maiconcarraro

After changing the compile and target SDK in the build.gradle file, some warnings are shown when compiling the project.
image

@kiajiko
Copy link
Author

kiajiko commented Jul 9, 2024

@jonkerw85
I was able to update it using Android Studio Koala | 2024.1.1, then installed Gradle version 8.7 in studio, after that updated Gradle plugin to 8.5 version in studio, which supports SDK 34. Then installed SDK 34 in studio. Then changed target sdk, compile sdk to 34 version.
Compilation returned only two unimportant warnings. Easily fixed one of them (it was clear what to change, but unfortunately do not remember what was that about), the second one was related to some deprecated function in 9.0 version.
Then Generated signed aab/apk in studio without issues. New version of my app passed google validation and update is already available in Google Play Store.

@jonkerw85
Copy link

@kiajiko Thanks for the support. Upgrading the Gradle version indeed resolves the warnings.

@joyzhong
Copy link

joyzhong commented Jul 9, 2024

Just fyi, there's another update needed for PWA's that enable Play Billing. I believe the android-browser-helper billing library version that PWABuilder points to would need to be updated (after the library itself is updated to support Play Billing 7.0), see also GoogleChrome/android-browser-helper#473

@jgw96 jgw96 self-assigned this Jul 9, 2024
@jgw96 jgw96 pinned this issue Jul 9, 2024
@murali0101
Copy link

Hi @jgw96 waiting for your update about [SDK 34]

@cactusoft
Copy link

If Google are going to do things like this, it would be useful if PWA Builder included a field where we could override defaults, maybe an optional field that could show json for the defaults which would then let you override them if you want.

@Zimasl
Copy link

Zimasl commented Jul 11, 2024

Hi @jgw96

We are waiting for updates about [SDK 34]

@lawtonj404
Copy link

@jonkerw85 I was able to update it using Android Studio Koala | 2024.1.1, then installed Gradle version 8.7 in studio, after that updated Gradle plugin to 8.5 version in studio, which supports SDK 34. Then installed SDK 34 in studio. Then changed target sdk, compile sdk to 34 version. Compilation returned only two unimportant warnings. Easily fixed one of them (it was clear what to change, but unfortunately do not remember what was that about), the second one was related to some deprecated function in 9.0 version. Then Generated signed aab/apk in studio without issues. New version of my app passed google validation and update is already available in Google Play Store.

Any chance you can do a quick youtube guide on how to do this? I'm new to Android studio and worried about the deadline.

Your help is much appreciated

@Zimasl
Copy link

Zimasl commented Jul 16, 2024

Why it takes so long to solve the problem on PWA Builder with SDK 34 is not a serious approach to users who trust you.

@jere-mie
Copy link

@Zimasl pwabuilder is built on top of bubblewrap, and that's where the update needs to be made. It isn't something pwabuilder can immediately fix. Several users have mentioned alternative solutions you can try out in the meantime

@maiconcarraro
Copy link
Contributor

@lawtonj404

Any chance you can do a quick youtube guide on how to do this? I'm new to Android studio and worried about the deadline.

Your help is much appreciated

let me know if you need something different: https://youtu.be/DbarW15E058

@Aviv1000
Copy link

@lawtonj404

Any chance you can do a quick youtube guide on how to do this? I'm new to Android studio and worried about the deadline.
Your help is much appreciated

let me know if you need something different: https://youtu.be/DbarW15E058

i get error after click on "upgrade to grandle 8.5 and re-sync":

Could not create task ':app:processDebugResources'.
Cannot use @TaskAction annotation on method IncrementalTask.taskAction$gradle() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.

* Try:
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.

and i dont see "change grande version ... and re-import project"

what to do?

@sebastian-raubach
Copy link

sebastian-raubach commented Jul 16, 2024

@Aviv1000 I had the same issue. Make sure to update the gradle version as shown in step 8 in the video to 8.5.1. You'll have to edit the file build.gradle (Project: source).

@maiconcarraro
Copy link
Contributor

@Aviv1000 I had the same issue. Make sure to update the gradle version as shown in step 8 in the video to 8.5.1. You'll have to edit the file build.gradle (Project: source).

sorry for missing this, maybe because I already did earlier it skipped a step, happy that you managed to figure out.

@maiconcarraro
Copy link
Contributor

maiconcarraro commented Jul 17, 2024

With regards to the lack of appropriate fix/alternative solution/support in light of this fiasco:

Isn't the very point of this tool 'PWABuilder' to abstract away, pretty much, all of the underlying technicalities (including nested dependencies), and without having to know anything of/use Native IDEs (Android Studio etc.)?

Putting it bluntly, asking users to resort to manual interventions in native IDEs, by the 'PWABuilder' team (a Microsoft based entity), doesn't really cut it now, does it?

@arladmin you should move your comment to bubblewrapper repo, the point of PWABuilder is still the same, and they are not asking manual interventions as the final solution... only if you are really blocked and need it asap, people are just sharing workarounds until it is fixed, you can do manual interventions if you want to fix before the Google team on bubblewrapper repo.

your comment is the kind of fiasco that ruins opensource communities, if you can't understand how dependencies work you can't blame others for your lacking of knowledge. peace.

@jgw96
Copy link
Contributor

jgw96 commented Jul 18, 2024

Hello all! The PR for Bubblewrap, which is the dependency that needed to be updated first, has been merged! We are now one step closer to having this updated in PWABuilder itself. I apologize for those having to use the workaround for now, but I much appreciate the patience as this is not a one-and-done kind of update. We plan to have PWABuilder updated long before the end of August deadline.

@iAmKabiru
Copy link

Hello all! The PR for Bubblewrap, which is the dependency that needed to be updated first, has been merged! We are now one step closer to having this updated in PWABuilder itself. I apologize for those having to use the workaround for now, but I much appreciate the patience as this is not a one-and-done kind of update. We plan to have PWABuilder updated long before the end of August deadline.

Hi @jgw96 ,
What is the update on this?
Thank you.

@mavramopoulos
Copy link

Hello all! The PR for Bubblewrap, which is the dependency that needed to be updated first, has been merged! We are now one step closer to having this updated in PWABuilder itself. I apologize for those having to use the workaround for now, but I much appreciate the patience as this is not a one-and-done kind of update. We plan to have PWABuilder updated long before the end of August deadline.

Hi @jgw96 , What is the update on this? Thank you.

Hello @iAmKabiru, from what I've seen and read we are now waiting for a new release of Bubblewrap now that the PR has been merged. I haven't found any release schedule on behalf of Bubblewrap.

@rickit2
Copy link

rickit2 commented Jul 22, 2024

Hello @jgw96 Is there any update on this? MT

@jgw96
Copy link
Contributor

jgw96 commented Jul 23, 2024

Hi all!

As you can see in the linked issue on the Bubblewrap repo, we are waiting for them to release the latest version. We are very well aware of the schedule here, as is the Bubblewrap team. Just like everyone here, we would love to already have this update out, but that is simply not possible in a manageable way unfortunately. Please know that I am keeping a close eye on this and will update everyone as soon as the update has happened.

Thanks everyone!

@leeobrum
Copy link

Hi, I have the same problem. My application is pwa and I think the person who generates this pac is the PWA Builder itself. Do we have any plans to update? error "App needs to target Android 14 (API level 34) or newer"

@CarlinhosArgos
Copy link

Boa tarde! Alguma novidade sobre a versão SDK34 no PWA Builder?

@pwa-builder pwa-builder deleted a comment from EagleDotNet Aug 1, 2024
@jgw96
Copy link
Contributor

jgw96 commented Aug 1, 2024

@leeobrum this comment #4766 (comment) has the current status, thanks!

@rohanreddyg
Copy link

Hi all!

As you can see in the linked issue on the Bubblewrap repo, we are waiting for them to release the latest version. We are very well aware of the schedule here, as is the Bubblewrap team. Just like everyone here, we would love to already have this update out, but that is simply not possible in a manageable way unfortunately. Please know that I am keeping a close eye on this and will update everyone as soon as the update has happened.

Thanks everyone!

Can this be added as a note on PWABuilder.com site so that everyone using will be aware of this issue.

@lucianodltec
Copy link

+1

@johnnstewart
Copy link

Hi, I have the same problem. any updates?

@catalescu
Copy link

BubbleWrap just released a new version with support for sdk 35.
https://github.com/GoogleChromeLabs/bubblewrap/releases/tag/v1.22.0

@jgw96
Copy link
Contributor

jgw96 commented Aug 8, 2024

Hello all! I am finally kicking off work to update our service. We have been waiting on the Bubblewrap team to do a release and as @catalescu put above, they published an updated version. I am starting on this today and hope to have it out asap. The latest would be the end of next week.

@jgw96
Copy link
Contributor

jgw96 commented Aug 8, 2024

Hello all! I have things working in the PR linked above. It is late today where I am and my team does not deploy on Fridays, so I will do last testing, merge and then publish to production on Monday (the 12th)

@michalzaq12
Copy link

@jgw96 Something went wrong

image

@maiconcarraro
Copy link
Contributor

maiconcarraro commented Aug 13, 2024

@michalzaq12

lilpwa mentioned in discord that was pushed from codespace to get around a Github actions issue, you can confirm the last version is deployed because the new signed key is working + txt file contains same password (workaround for now)

they are probably going to investigate/address the issues related to GH action and other things, but you should be good to generate the app already (worked for me)

@KlebersonLeite
Copy link

Solved for me. Thank you.

@FANMixco
Copy link
Contributor

Hello all! I have things working in the PR linked above. It is late today where I am and my team does not deploy on Fridays, so I will do last testing, merge and then publish to production on Monday (the 12th)

Something is quite wrong, I'm getting this error when I'm trying PWA Builder:

Internal Server Error

Status code: 500. Error generating app package: Command failed: ./gradlew assembleRelease --stacktrace Picked up JAVA_TOOL_OPTIONS: -javaagent:/agents/java/applicationinsights-agent-codeless.jar OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:minifyReleaseWithR8'. > Failed to find target with hash string 'android-35' in: /opt/android-sdk * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. * Exception is: org.gradle.api.internal.tasks.TaskDependencyResolveException: Could not determine the dependencies of task ':app:minifyReleaseWithR8'. at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:70) at org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:49) at org.gradle.execution.plan.LocalTaskNode.getDependencies(LocalTaskNode.java:148) at org.gradle.execution.plan.LocalTaskNode.resolveDependencies(LocalTaskNode.java:122) at org.gradle.execution.plan.DefaultExecutionPlan.discoverNodeRelationships(DefaultExecutionPlan.java:182) at org.gradle.execution.plan.DefaultExecutionPlan.doAddEntryNodes(DefaultExecutionPlan.java:154) at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:129) at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:121) at org.gradle.execution.TaskNameResolvingBuildTaskScheduler.scheduleRequestedTasks(TaskNameResolvingBuildTaskScheduler.java:54) at org.gradle.execution.DefaultTasksBuildTaskScheduler.scheduleRequestedTasks(DefaultTasksBuildTaskScheduler.java:72) at org.gradle.initialization.DefaultTaskExecutionPreparer.lambda$scheduleRequestedTasks$0(DefaultTaskExecutionPreparer.java:46) at org.gradle.internal.Factories$1.create(Factories.java:31) at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:360) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:240) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:233) at org.gradle.initialization.DefaultTaskExecutionPreparer.scheduleRequestedTasks(DefaultTaskExecutionPreparer.java:45) at org.gradle.initialization.VintageBuildModelController.lambda$scheduleRequestedTasks$0(VintageBuildModelController.java:76) at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:99) at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:114) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:110) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:98) at org.gradle.initialization.VintageBuildModelController.scheduleRequestedTasks(VintageBuildModelController.java:76) at org.gradle.internal.build.DefaultBuildLifecycleController$DefaultWorkGraphBuilder.addRequestedTasks(DefaultBuildLifecycleController.java:404) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$0(DefaultBuildTreeWorkPreparer.java:41) at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$7(DefaultBuildLifecycleController.java:189) at org.gradle.internal.build.DefaultBuildWorkPreparer.populateWorkGraph(DefaultBuildWorkPreparer.java:42) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph(BuildOperationFiringBuildWorkPreparer.java:106) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run(BuildOperationFiringBuildWorkPreparer.java:92) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.populateWorkGraph(BuildOperationFiringBuildWorkPreparer.java:67) at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$8(DefaultBuildLifecycleController.java:189) at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:99) at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:114) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:110) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:98) at org.gradle.internal.build.DefaultBuildLifecycleController.populateWorkGraph(DefaultBuildLifecycleController.java:189) at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.populateWorkGraph(DefaultBuildWorkGraphController.java:169) at org.gradle.composite.internal.DefaultBuildController.populateWorkGraph(DefaultBuildController.java:76) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraphBuilder.withWorkGraph(DefaultIncludedBuildTaskGraph.java:153) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$1(DefaultBuildTreeWorkPreparer.java:41) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:204) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:37) at org.gradle.configurationcache.VintageBuildTreeWorkController$scheduleAndRunRequestedTasks$1.apply(VintageBuildTreeWorkController.kt:36) at org.gradle.configurationcache.VintageBuildTreeWorkController$scheduleAndRunRequestedTasks$1.apply(VintageBuildTreeWorkController.kt:35) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:112) at org.gradle.configurationcache.VintageBuildTreeWorkController.scheduleAndRunRequestedTasks(VintageBuildTreeWorkController.kt:35) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$scheduleAndRunTasks$1(DefaultBuildTreeLifecycleController.java:77) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:120) at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:169) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266) at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:169) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:169) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:117) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:77) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:72) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:140) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40) at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:123) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40) at org.gradle.internal.buildtree.InitDeprecationLoggingActionExecutor.execute(InitDeprecationLoggingActionExecutor.java:66) at org.gradle.internal.buildtree.InitProblems.execute(InitProblems.java:36) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:71) at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:60) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:71) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:264) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:128) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36) at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64) at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:92) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:80) at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:71) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:51) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:39) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.lambda$execute$0(ForwardClientInput.java:39) at org.gradle.launcher.daemon.server.clientinput.ClientInputForwarder.forwardInput(ClientInputForwarder.java:88) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:64) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47) Caused by: com.android.builder.errors.EvalIssueException: Failed to find target with hash string 'android-35' in: /opt/android-sdk at com.android.builder.errors.IssueReporter.reportError(IssueReporter.kt:131) at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:151) at com.android.build.gradle.internal.SdkFullLoadingStrategy.init(SdkFullLoadingStrategy.kt:49) at com.android.build.gradle.internal.SdkFullLoadingStrategy.getBuildToolsInfo(SdkFullLoadingStrategy.kt:74) at com.android.build.gradle.internal.SdkFullLoadingStrategy.getFileFromBuildTool(SdkFullLoadingStrategy.kt:78) at com.android.build.gradle.internal.SdkFullLoadingStrategy.getCoreLambaStubs(SdkFullLoadingStrategy.kt:81) at com.android.build.gradle.internal.SdkLoadingStrategy.getCoreLambaStubs(SdkLoadingStrategy.kt:41) at com.android.build.gradle.internal.SdkComponentsBuildService$VersionedSdkLoader$coreLambdaStubsProvider$1.call(SdkComponents.kt:243) at com.android.build.gradle.internal.SdkComponentsBuildService$VersionedSdkLoader$coreLambdaStubsProvider$1.call(SdkComponents.kt:243) at org.gradle.api.internal.provider.DefaultProvider.calculateOwnValue(DefaultProvider.java:72) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:115) at org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:81) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:115) at org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:81) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:115) at org.gradle.api.internal.provider.DefaultProperty.calculateValueFrom(DefaultProperty.java:152) at org.gradle.api.internal.provider.DefaultProperty.calculateValueFrom(DefaultProperty.java:33) at org.gradle.api.internal.provider.AbstractProperty.doCalculateValue(AbstractProperty.java:170) at org.gradle.api.internal.provider.AbstractProperty.calculateOwnValue(AbstractProperty.java:163) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:115) at org.gradle.api.internal.provider.FlatMapProvider.calculateOwnValue(FlatMapProvider.java:53) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateOwnPresentValue(AbstractMinimalProvider.java:80) at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:100) at org.gradle.api.internal.provider.ProviderResolutionStrategy$2.resolve(ProviderResolutionStrategy.java:33) at org.gradle.api.internal.file.collections.ProviderBackedFileCollection.visitDependencies(ProviderBackedFileCollection.java:57) at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext$TaskGraphImpl.getNodeValues(CachingTaskDependencyResolveContext.java:108) at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmptyEdges.getNodeValues(CachingDirectedGraphWalker.java:213) at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:121) at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:73) at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:67) ... 139 more Caused by: java.lang.IllegalStateException: Failed to find target with hash string 'android-35' in: /opt/android-sdk at com.android.builder.sdk.DefaultSdkLoader.getTargetInfo(DefaultSdkLoader.java:174) at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:131) ... 167 more BUILD FAILED in 6s cmd: ./gradlew assembleRelease --stacktrace code: 1

@angrykoala
Copy link

Hi, when is this going to be available on https://www.pwabuilder.com ?

I made a package recently and the target SDK is still below the required one. I'm not sure where releases to the web version are tracked. Thanks 🙏

@maiconcarraro
Copy link
Contributor

@angrykoala when did you generate? lilpwa updated the website, if there is still an issue you can open a new issue, or ask help in discord.

@angrykoala
Copy link

Thanks @maiconcarraro I did it a couple of days ago, I'll try again today

@emremutlu08
Copy link

It works for me, but the Playstore review process takes a long time. (3-5 days)

@aasliturkoglu
Copy link

aasliturkoglu commented Aug 19, 2024

Today, I downloaded the source files for an Android application from pwabuilder.com, and the target sdk is set to 35. @angrykoala

@designerjason
Copy link

Today, I downloaded the source files for an Android application from pwabuilder.com, and the target sdk is set to 35. @angrykoala

Just to +1 this is correct and I was also able to publish via pwabuilder.com last week. sdk of my app is now v35 and has been published to google play without issue.

@jgw96 jgw96 unpinned this issue Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.