Posts by Nemeean_lion

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.

    I was using v2.0G for GPG and 294.7 for Clickteam Fusion 2.5, which were the latest versions at the time.

    I was thinking that maybe there was some forgotten code in the GPG object and that was what google was detecting, but if you say that it's not used anymore, maybe they made a mistake when they sent me that mail. Or maybe they just scanned the apk and found some commented code that contained the instruction in question, and that was what triggered their algorithm. Hopefully that is the case.

    I remember that some time ago, Google said that they were discontinuing the Google drive api, so the Google Play Games object was modified to no longer use this.

    However, according to google at least, it seems that there might still be some left over code from when the GPG was still using the Google drive api, since I am using the latest version of the object, and still received this message. Could you look into this? Here is the full e-mail that I received from Google:

    Hello Google Developer,

    We’re writing to let you know that we’ve found one or more of your apps continue to initialize the Google Drive Android API, which will be fully turned off on February 1, 2023. Impacted apps are listed at the end of this email.
    What does this mean for my organization?

    On December 6, 2018, we announced that we’re simplifying options for developers by retiring the Google Drive Android API. Since the beginning of 2022, none of the Google Drive Android API calls are functional anymore. You might have unintentionally integrated with it in the past.

    On February 1, 2023, the Google Drive Android API will be fully turned off. Any app that continues to initialize the Google Drive Android API will start to break.
    What do I need to do?

    Please remove the following code from the apps before February 1, 2023.

    addApi(Drive.API)

    Note: Even if your app doesn't rely on Google Drive, your app's functionality might be impacted if you connect to the Google Drive Android API.

    I tried exporting with both versions 293.10 and 294.7 of Clickteam Fusion. On both I can compile with build 30 by targeting android 11, but if I try to compile with build 31, targeting android 12 the compiler crashes.

    I only just downloaded android 12 from android studio and I updated my jdk with the latest version from the Liberica java JDK. I also updated the GPG object to its latest version of 200G. Does anyone know what this error log might mean?

    Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details
    Warning: Mapping new ns Please login to see this link. to old ns Please login to see this link.
    Warning: Mapping new ns Please login to see this link. to old ns Please login to see this link.
    Warning: Mapping new ns Please login to see this link. to old ns Please login to see this link.
    Warning: Mapping new ns Please login to see this link. to old ns Please login to see this link.
    Warning: Mapping new ns Please login to see this link. to old ns Please login to see this link.
    > Task :app:preBuild UP-TO-DATE
    > Task :app:preReleaseBuild UP-TO-DATE
    > Task :app:compileReleaseAidl NO-SOURCE
    > Task :app:compileReleaseRenderscript NO-SOURCE
    > Task :app:generateReleaseBuildConfig
    > Task :app:javaPreCompileRelease
    > Task :app:writeReleaseApplicationId
    > Task :app:analyticsRecordingRelease
    > Task :app:generateReleaseResValues
    > Task :app:generateReleaseResources
    > Task :app:checkReleaseAarMetadata
    > Task :app:createReleaseCompatibleScreenManifests
    > Task :app:extractDeepLinksRelease
    > Task :app:processReleaseMainManifest
    > Task :app:processReleaseManifest
    > Task :app:mergeReleaseJniLibFolders
    > Task :app:mergeReleaseResources
    > Task :app:mergeReleaseShaders
    > Task :app:compileReleaseShaders NO-SOURCE
    > Task :app:generateReleaseAssets UP-TO-DATE
    > Task :app:mergeReleaseAssets
    > Task :app:compressReleaseAssets
    > Task :app:checkReleaseDuplicateClasses
    > Task :app:processReleaseJavaRes NO-SOURCE
    > Task :app:collectReleaseDependencies
    > Task :app:sdkReleaseDependencyData
    > Task :app:validateSigningRelease
    > Task :app:writeReleaseAppMetadata
    > Task :app:writeReleaseSigningConfigVersions
    > Task :app:desugarReleaseFileDependencies
    > Task :app:mergeReleaseNativeLibs
    > Task :app:mergeReleaseJavaResource
    > Task :app:processReleaseManifestForPackage

    > Task :app:stripReleaseDebugSymbols
    Unable to strip the following libraries, packaging them as they are: libES1Renderer.so, libES2Renderer.so, libES3Renderer.so, libRuntimeNative.so, libgdx.so.

    > Task :app:extractReleaseNativeSymbolTables
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libES1Renderer.so because unable to locate the objcopy executable for the arm64-v8a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libES2Renderer.so because unable to locate the objcopy executable for the arm64-v8a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libES3Renderer.so because unable to locate the objcopy executable for the arm64-v8a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libgdx.so because unable to locate the objcopy executable for the arm64-v8a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libRuntimeNative.so because unable to locate the objcopy executable for the arm64-v8a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libES1Renderer.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libES2Renderer.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libES3Renderer.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libgdx.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libRuntimeNative.so because unable to locate the objcopy executable for the armeabi-v7a ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libES1Renderer.so because unable to locate the objcopy executable for the x86 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libES2Renderer.so because unable to locate the objcopy executable for the x86 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libES3Renderer.so because unable to locate the objcopy executable for the x86 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libgdx.so because unable to locate the objcopy executable for the x86 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86\libRuntimeNative.so because unable to locate the objcopy executable for the x86 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libES1Renderer.so because unable to locate the objcopy executable for the x86_64 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libES2Renderer.so because unable to locate the objcopy executable for the x86_64 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libES3Renderer.so because unable to locate the objcopy executable for the x86_64 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libgdx.so because unable to locate the objcopy executable for the x86_64 ABI.
    Unable to extract native debug metadata from C:\Users\nemee\AppData\Local\Temp\And15BE.tmp\app\build\intermediates\merged_native_libs\release\out\lib\x86_64\libRuntimeNative.so because unable to locate the objcopy executable for the x86_64 ABI.

    > Task :app:mergeReleaseNativeDebugMetadata NO-SOURCE
    > Task :app:processReleaseResources
    > Task :app:mergeExtDexRelease

    > Task :app:compileReleaseJavaWithJavac FAILED
    An exception has occurred in the compiler (1.8.0_345). Please file a bug against the Java compiler via the Java bug reporting page (Please login to see this link.) after checking the Bug Database (Please login to see this link.) for duplicates. Include your program and the following diagnostic in your report. Thank you.
    java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.UnsharedNameTable$NameImpl)
    at com.sun.tools.javac.util.Assert.error(Assert.java:133)
    at com.sun.tools.javac.code.TypeAnnotations.annotationType(TypeAnnotations.java:231)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:294)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitMethodDef(TypeAnnotations.java:1066)
    at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:1042)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:693)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
    at com.sun.tools.javac.code.TypeAnnotations$1.run(TypeAnnotations.java:127)
    at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:152)
    at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
    at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
    at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
    at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
    at com.sun.tools.javac.main.Main.compile(Main.java:523)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
    at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
    at org.gradle.internal.compiler.java.IncrementalCompileTask.call(IncrementalCompileTask.java:74)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:94)
    at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:55)
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:40)
    at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:97)
    at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51)
    at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
    at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
    at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
    at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:98)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:61)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:45)
    at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
    at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
    at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
    at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:343)
    at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:237)
    at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:209)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
    at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
    at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:555)
    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$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:540)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:523)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:260)
    at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:33)
    at java.util.Optional.map(Optional.java:215)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:42)
    at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
    at java.util.Optional.map(Optional.java:215)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
    at java.util.Optional.orElseGet(Optional.java:267)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
    at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:187)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run(Thread.java:750)

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:compileReleaseJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at Please login to see this link.

    BUILD FAILED in 12s
    30 actionable tasks: 30 executed

    Okay, so I first tested the 293.10 build with the original editbox object, and border enabled, and the border did not appear. Then I copied the new editbox file and tested it again, with the border option checked, and there is now a border around the editbox, so I can confirm that the option now works for me, on a HTC U11 phone.

    Let me know if there was also anything specific you wanted to know aside from the border showing up or not.

    Hey, I have a quick question about the new InAppPurchase object for Android. I just noticed now when reading the object's help file that the new object has an InApp list property, for entering the SKUs.

    I don't remember this property existing before. Did I just not notice it, or was it added with the new version of the object? Because I never used it before, and the object worked fine for years.

    If it's been added in the new version, can you tell me if it's mandatory to fill this property, or if it's enough to just query the inventory for the SKUs by using the events?

    Thanks.

    Hello,

    I just received a mail from Google, about updates being required for the Drive API. I'm guessing this is because I use the Cloud saves option from the Google Play Games object. The mail doesn't explicitly say that changes are required, but it mentions that they made some changes, and that I need to check if those changes apply to me or not. Since I'm not very familiar with the code behind the Google Play Games object, could you please take a quick look over this e-mail I got from Google, and see if it applies in the case of Clickteam Fusion? I'll copy paste the contents of the mail below:

    Hello Google Drive Developer,

    We have identified you as a Developer who has used the Drive API in the last 30 days. We are writing to let you know that on September 13, 2021, Drive will apply a security update that will change the links used to share some files, and may lead to some new file access requests. Access to files won’t change for people who have already viewed or modified these files.

    Please update your code as detailed below before September 13, 2021, to avoid failing requests.
    What do I need to know?

    Items that have a Drive API permission with type=domain or type=anyone, where withLink=true (v2) or allowFileDiscovery=false (v3), will be affected by this security update.

    In addition to the item ID, your application may now also need a resource key to access these items. Without a resource key, requests for these items may result in a 404 Not Found error (See below for details). Note that access to items that are directly shared with the user or group are not affected.
    Will this change affect me?

    If your application uses the Drive API to access files which have been shared with a user through link sharing, your application may be affected by this change.
    What do I need to do?

    To avoid errors accessing files, you must update your code for accessing files to include the appropriate resource keys. Details on how to do this for each of the affected Drive APIs is included below:
    Changes to the Drive API

    The resource key of an item is returned on the resourceKey field of the file metadata in the Drive API response.

    If the file is a shortcut file, then the resource key for the target of the shortcut can be read from the shortcutDetails.targetResourceKey field of the same resource.
    URL type fields such as exportLinks, webContentLink, and webViewLink will include the resourceKey.
    Requests to the Drive API can specify one or more resource keys with the X-Goog-Drive-Resource-Keys HTTP request header.

    Learn more about this change from the Drive API guide.
    Changes to Apps Script

    The DriveApp from Apps Script has been updated to return the resource key of a file or folder with the getResourceKey method.

    Note: When fetching a file or folder, the resource key can be specified on the getFileByIdAndResourceKey or getFolderByIdAndResourceKey methods.

    Changes to Drive UI Integrations

    If your application is integrated with the Drive UI to create or open items, it will receive resource keys when your application is invoked from the Drive UI.

    The state information for a New URL will contain folderResourceKey, which is the resource key of the folder where the new item should be created.
    The state for an Open URL will contain a mapping of file ID to resource key in the resourceKeys field.

    Learn more about integrating with the Drive UI on our website.

    I received this warning from Google Play when I was uploading my app on their store:

    "We've detected that this app is using an old version of Google Play Billing. By November 1, 2021, all app updates must use Billing Library version 3 or newer. Update to Billing Library 3 before this date."

    I was using version 293.1 of Clickteam Fusion 2.5+, but I was building the app with API 29. Is this being worked on in a newer Fusion version, or would the problem fix itself if I built the app with API 30 (Android 11)?

    I figured out what happened. It was the code from the GetScreenSizeInches method from the AndroidPlus object that changed at some point in 2020.

    I had an event somewhere that made the size of the text somewhat smaller for devices above 6.5 inches. What happened, I think was that there are some devices with exactly 6.5 inch screens that used to be calculated as slightly below 6.5 inches with the older GetScreenSizeInches method, and now they are calculated slightly above, which triggered my event and made the text smaller for a very limited amount of users.

    I doubt anyone else using the GetScreenSizeInches could be affected by something like this, so there's no problem on Clickteam's side. I changed my code a little to account for this, and now the issue is fixed.

    I just updated my game with 293.1 of Clickteam Fusion 2.5 (it was built with 292.22 before, I think), and all of a sudden, I am getting many android users who are telling me that their font size is much smaller than before, even though I haven't changed the font size of the game in 5 years.

    I also noticed that the overall behavior of the string object has changed, and it's doing something that it was doing only on iOS and HTML5 before, but not on android. Namely, when there is text in a string box that is bigger than the string box, the text that doesn't fit gets cut off. With the previous version of Fusion, there was no need for me to make the string box bigger for the text to be displayed correctly.

    It kind of feels like the string object might have reverted to a previous version of something, but I'm not quite sure. Any thoughts?