When I fill blanks in build.gradle (Build.Win/Players/GiderosPlayer/app/build.gradle) compileSdkVersion 31 buildToolsVersion "31.0.0" and run gradlew from power shell it says BUILD SUCCESSFUL
EDIT: And with .\gradlew --console=plain assembleRelease
But this file is replaced every time you call make command.
Ok, so problem partially solved. I moved SDK folder to its default location (AppData/Local/Android/sdk), but now different error pops up.
> Task :app:mergeDexRelease FAILED
ERROR:R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\external_file_lib_dex_archives\release\0_classes.jar: D8: Type com.giderosmobile.android.GiderosSettings is defined multiple times: R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\external_file_lib_dex_archives\release\0_classes.jar:classes.dex, R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\project_dex_archive\release\out\com\giderosmobile\android\GiderosSettings.dex
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at <a href="https://developer.android.com/studio/build/dependencies#duplicate_classes" rel="nofollow">https://developer.android.com/studio/build/dependencies#duplicate_classes</a>.
Type com.giderosmobile.android.GiderosSettings is defined multiple times: R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\external_file_lib_dex_archives\release\0_classes.jar:classes.dex, R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\project_dex_archive\release\out\com\giderosmobile\android\GiderosSettings.dex
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:151)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:138)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:858)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.run(DexMergingTask.kt:804)
at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
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:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:205)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
at org.gradle.internal.Factories$1.create(Factories.java:31)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:114)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\external_file_lib_dex_archives\release\0_classes.jar:classes.dex
at Version.fakeStackEntry(Version_4.0.52.java:0)
at com.android.tools.r8.internal.vk.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:75)
at com.android.tools.r8.internal.vk.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:28)
at com.android.tools.r8.internal.vk.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:27)
at com.android.tools.r8.internal.vk.b(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:2)
at com.android.tools.r8.D8.run(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:11)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:136)
... 38 more
Caused by: com.android.tools.r8.internal.g: Type com.giderosmobile.android.GiderosSettings is defined multiple times: R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\external_file_lib_dex_archives\release\0_classes.jar:classes.dex, R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\project_dex_archive\release\out\com\giderosmobile\android\GiderosSettings.dex
at com.android.tools.r8.internal.GV.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:14)
at com.android.tools.r8.internal.GV.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:22)
at com.android.tools.r8.internal.rP.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:44)
at com.android.tools.r8.internal.rP.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:10)
at java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2056)
at com.android.tools.r8.internal.rP.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:6)
at com.android.tools.r8.graph.F2$a.e(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:7)
at com.android.tools.r8.dex.b.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:84)
at com.android.tools.r8.dex.b.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:23)
at com.android.tools.r8.dex.b.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:22)
at com.android.tools.r8.D8.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:50)
at com.android.tools.r8.D8.d(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:19)
at com.android.tools.r8.D8.b(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:1)
at com.android.tools.r8.internal.vk.a(R8_4.0.52_5a340ca2823c7e792fe09805c75f749b9d398d230bc0518bb54ae9b6b50addbe:24)
... 41 more
> Task :app:lintVitalAnalyzeRelease
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See <a href="https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings" rel="nofollow">https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings</a>34 actionable tasks: 34 executed
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDexRelease'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
> There was a failure while executing work items
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at <a href="https://developer.android.com/studio/build/dependencies#duplicate_classes" rel="nofollow">https://developer.android.com/studio/build/dependencies#duplicate_classes</a>.
Type com.giderosmobile.android.GiderosSettings is defined multiple times: R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\external_file_lib_dex_archives\release\0_classes.jar:classes.dex, R:\DEV\gideros\Build.Win\Players\GiderosPlayer\tmp\app\build\intermediates\project_dex_archive\release\out\com\giderosmobile\android\GiderosSettings.dex
* 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 <a href="https://help.gradle.org" rel="nofollow">https://help.gradle.org</a>
BUILD FAILED in 1m 7s
Exec returned: 1
make: ***[/r/dev/gideros/scripts//GidAndroid.mk:20: android.install] Error 1
I know that last one, just relaunch build and it should pass this time
And it works today...
EDIT: So, the whole point of building gideros was to test imgui, but I only see these plugins (when runing test project on android): lsqlite3 box2d lfs json accelerometer liquidfun socket.core gyroscope geolocation mime.core json.safe
About NDK update: r17 is the highest version still supporting android SDK 14 (ICS), which is the current minimum for Gideros. Google play requires SDK 19 at least (KitKat), which is very old too. I am very much in favor of dropping ICS and upgrading to recent tools. According to this https://www.composables.com/tools/distribution-chart , there is virtually nothing below KitKat.
EDIT: I have moved to NDK r25, and raised minimum sdk to 19
some updates please: lately I had some issue building Gideros from source (GH). The issue is with openAL and folder "C:\dev\gideros_dev20230925\libgid\external\openal-soft" being empty.
There may be a problem with either: - Qt not fetching/compiling Gideros OpenAL from GH - Qt not copying the OpenAL files to Gideros folder "C:\dev\gideros_dev20230925\libgid\external\openal-soft"
To solve my issue I copied the openal-soft files from an older build into the empty openal-soft folder.
good morning yes I created a brand new folder and download Gideros GH. I do these: - git clone https://github.com/gideros/gideros gideros_dev20231001 - configure scripts: Makefile.def and Makefile.gid - make -f scripts/Makefile.gid prep.repo - make -f scripts/Makefile.gid qscintilla - make -f scripts/Makefile.gid qlexilla - make -f scripts/Makefile.gid versioning - make –f scripts/Makefile.gid qtapp.install --> \libgid\external\openal-soft is empty! - make –f scripts/Makefile.gid win32.install
Everything works but openal thing, so every time I copy the folder from an ealier build and qtapp.install then works.
Some more infos: - $ make -f scripts/Makefile.gid prep.repo (please see file attached) ... Cloning into '/c/dev/gideros_dev20231001/lexilla'... remote: Enumerating objects: 45683, done. remote: Counting objects: 100% (2933/2933), done. ... Resolving deltas: 100% (35750/35750), done. Unstaged changes after reset: M scripts/Makefile.gid Unstaged changes after reset: M scripts/Makefile.gid if [ ! -d ./libgid/external/openal-soft ]; then \ cd libgid/external; git submodule add https://github.com/gideros/openal-soft.git openal-soft; \ git reset HEAD .gitmodules; \ git reset HEAD libgid/external/openal-soft; \ fi git submodule update --recursive
Comments
compileSdkVersion 31
buildToolsVersion "31.0.0"
and run gradlew from power shell it says BUILD SUCCESSFUL
EDIT:
And with .\gradlew --console=plain assembleRelease
But this file is replaced every time you call make command.
I will try on my side see how far I can get and report back.
EDIT:
So, the whole point of building gideros was to test imgui, but I only see these plugins (when runing test project on android):
lsqlite3
box2d
lfs
json
accelerometer
liquidfun
socket.core
gyroscope
geolocation
mime.core
json.safe
What I need to do?
EDIT:
Ok, I got it working.
Likes: MoKaLux
EDIT: I have moved to NDK r25, and raised minimum sdk to 19
Likes: MoKaLux
There may be a problem with either:
- Qt not fetching/compiling Gideros OpenAL from GH
- Qt not copying the OpenAL files to Gideros folder "C:\dev\gideros_dev20230925\libgid\external\openal-soft"
To solve my issue I copied the openal-soft files from an older build into the empty openal-soft folder.
Hope this may help.
...
compiling gpath.cpp
linking release/gvfs.dll
make[2]: Leaving directory '/c/dev/gideros_dev20231001/libgvfs'
make[1]: Leaving directory '/c/dev/gideros_dev20231001/libgvfs'
cd ./libgid/openal; qmake openal.pro
Info: creating stash file C:\dev\gideros_dev20231001\libgid\openal\.qmake.stash
WARNING: Failure to find: ../external/openal-soft/al/auxeffectslot.cpp
WARNING: Failure to find: ../external/openal-soft/al/buffer.cpp
...
WARNING: Failure to find: ../external/openal-soft/alc/backends/winmm.cpp
cd ./libgid/openal; make -j8 release
make[1]: Entering directory '/c/dev/gideros_dev20231001/libgid/openal'
make -f Makefile.Release
make[2]: Entering directory '/c/dev/gideros_dev20231001/libgid/openal'
make[2]: *** No rule to make target '../external/openal-soft/al/auxeffectslot.cpp', needed by 'release/dev/gideros_dev20231001/libgid/external/openal-soft/al/auxeffectslot.o'. Stop.
make[2]: Leaving directory '/c/dev/gideros_dev20231001/libgid/openal'
make[1]: *** [Makefile:45: release] Error 2
make[1]: Leaving directory '/c/dev/gideros_dev20231001/libgid/openal'
make: *** [/c/dev/gideros_dev20231001/scripts//GidQtWin.mk:187: libgid/openal.qmake.rel] Error 2
Maybe one shouldn't use a folder like gideros_devYYYYMMDD?
yes I created a brand new folder and download Gideros GH. I do these:
- git clone https://github.com/gideros/gideros gideros_dev20231001
- configure scripts: Makefile.def and Makefile.gid
- make -f scripts/Makefile.gid prep.repo
- make -f scripts/Makefile.gid qscintilla
- make -f scripts/Makefile.gid qlexilla
- make -f scripts/Makefile.gid versioning
- make –f scripts/Makefile.gid qtapp.install --> \libgid\external\openal-soft is empty!
- make –f scripts/Makefile.gid win32.install
Everything works but openal thing, so every time I copy the folder from an ealier build and qtapp.install then works.
Some more infos:
- $ make -f scripts/Makefile.gid prep.repo (please see file attached)
...
Cloning into '/c/dev/gideros_dev20231001/lexilla'...
remote: Enumerating objects: 45683, done.
remote: Counting objects: 100% (2933/2933), done.
...
Resolving deltas: 100% (35750/35750), done.
Unstaged changes after reset:
M scripts/Makefile.gid
Unstaged changes after reset:
M scripts/Makefile.gid
if [ ! -d ./libgid/external/openal-soft ]; then \
cd libgid/external; git submodule add https://github.com/gideros/openal-soft.git openal-soft; \
git reset HEAD .gitmodules; \
git reset HEAD libgid/external/openal-soft; \
fi
git submodule update --recursive
EDIT: I fixed the main repo meanwhile
Likes: MoKaLux