Chercher Et Ou Phrase  
Dans:          


Pour les nouveau visiteurs

Entrez ici

Chercher le Forum



 

 Les Forums
  Programmation avancée
Repondre a ce sujet  

Sujet Build Android API-35 with Windev Mobile 25
Message envoyé le 22-11-2025 par b0zz (GB)  
Does anyone has successfully built Android API-35 with Windev Mobile 25?

I have tried many times and always got the following error message:

========================

Error returned:
:processReleaseResources
> Task :processReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > AAPT2 aapt2-3.5.0-5435860-windows Daemon #0: Daemon startup failed
     This should not happen under normal circumstances, please file an issue if it does.

* 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 https://help.gradle.org

BUILD FAILED in 2m 1s
9 actionable tasks: 5 executed, 4 up-to-date

==================

PLease kindly share your experience.

Cheers...

Message envoyé le 01-12-2025 par b0zz (GB)  
After a few days non stop hard working, finally, I could successfully build API-35 APK with WM25. I'm sure we can also build API-36 APK with the same way. For anyone facing the same problem and wondering how I did it, the key is... edit WDJava.build & WDJava.dat file and update gradle & Java version. Good Luck!

Message envoyé le 03-12-2025 par Ismokasa16 (Mali)  
Sorry for the late reply; usually, the Target API SDK is modified in the manifest with WM 25. But your approach interests me; if we can discuss it further, I'd appreciate it.

Message envoyé le 04-12-2025 par Ismokasa16 (Mali)  
However, your approach interests me. If we can discuss this further, here is my email: precautioninternet@gmail.com

Message envoyé le 04-12-2025 par Ismokasa16 (Mali)  
When you say update Graddle, how does that work? Because the whole problem lies there; WM 25 requires Graddle 5.4.1

Message envoyé le 04-12-2025 par Ismokasa16 (Mali)  
Could you share the contents of your WDJava.build and WDJava.dat files? I tried modifying the files and updated to Java 11 and Graddle 7.6.6. I even updated the Update.ini file located in D:\WINDEV MOBILE 25\Personnel\Android.
WM 25 still requires Graddle 5.4.1.

Message envoyé le 04-12-2025 par duke_hj (Royaume-Uni)  
I compile projects with android 33 but can't go up any further
What I did was to update sdk and platform version and modified target android version to 35. The whole description is in pcsoft forum, basically i just modified sdkmanager.bat and other .bat to update them both.

This lines:
@rem Execute sdkmanager
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli "platform-tools" "build-tools;33.0.2"

And in the other bat:
@rem Execute sdkmanager
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli "platform-tools" "platforms;android-33"

Executed .bat files and that's it.
I can do the same to android 34 or 35 but it won't compile because I think gradle or something else.


Anyway, thing is, right now google is requiring this: "We recently told you that your app does not support the 16 KB memory page sizes. You now have until 31 May 2026 to fix this issue, and to continue releasing updates to your app". I don't know if updating to android 35 platform and sdk solves it. Do you know if it fixes it?

Message envoyé le 04-12-2025 par Ismokasa16 (Mali)  
Indeed, the purpose of this modification is to address the Google message regarding "16 KB memory pages". Only SDK or NDK versions pointing to API 34 and higher fix this problem, and this version is only compatible with a recent version of Graddle.

Following this issue, I started looking into Flutter for mobile development. With free development platforms like Android Studio, it's enough to compile with the latest Graddle and SDK versions to fix this problem.

I made the changes and even updated the following folders with the Android Studio folder:
WindevMobile25\personal\android|AndroidSDK\build-Tools\36.1.0
WindevMobile25\personal\android\AndroidSDK\platform\36.1
WindevMobile25\personal\AndroidSDK\Platform-tools

But the problem is the Graddle detection of WM 25, which requires version 5.4.1 in the application generation process.

If there is a way to bypass this verification, I think the compilation will proceed without any problems.

Message envoyé le 04-12-2025 par b0zz (GB)  
It doesn't matter if WM25 option forces you to use Gradle 5.4.1. That's why we need to modify WDJava.build & WDJava.dat to overraid gradle version, Gradle plugin (AGP), build configuration and build command. Even java & jvm version can be overraided there.

However, before modifying WDJava files, there are few things you need to do & setup preperly:
- Install Java SDK 17 or later
- Android SDK: build-tools 36, platform 36, update platform tools, system-images 36.
- Install correct version of Gradle: To target Android API level 36, you need to use Android Gradle Plugin (AGP) version 8.9.1 (or higher), which in turn requires a minimum Gradle version of 8.11.1
- Use --debug option in WDJava.dat to get more log output, so you can fix the error.

Message envoyé le 05-12-2025 par Ismokasa16 (Mali)  
I've already tried modifying the files, updating Java and Gradle, but as I said, WM 25 still requires Gradle 5.4.1. Here's the content of my WDJava.dat file:

<?xml version="1.0" encoding="utf-8"?>
<SDKTools>

<!-- Force use of Java 11 -->
<GRADLE>"C:\Program Files\Java\jdk-11\bin\java.exe" -Duser.dir="$RepGen$" "-Dorg.gradle.appname=$RepGen$" -classpath "D:\WINDEV MOBILE 25\Personnel\Android\Gradle\lib\gradle-launcher-7.6.6.jar" org.gradle.launcher.GradleMain</GRADLE>

<!-- API 36 -->
<SDKTool VersionMin="36" UseBuildToolsVersion="1">
<Android>"C:\Program Files\Java\jdk-11\bin\java.exe" -classpath "$RepAndroid$\platforms\android-36\android.jar" com.android.sdklib.tool.AvdManagerCli</Android>
<ADB>"$AndroidRep$platform-tools\adb.exe"</ADB>
</SDKTool>

<!-- API 26–35 fallback -->
<SDKTool VersionMin="26" VersionMax="35" UseBuildToolsVersion="1">
<Android>"C:\Program Files\Java\jdk-11\bin\java.exe" -Dcom.android.sdkmanager.toolsdir="$RepAndroid$tools" --add-modules java.se.ee -classpath "$DirAndroid$\tools\lib\*" com.android.sdklib.tool.AvdManagerCli</Android>
<ADB>"$AndroidRep$platform-tools\adb.exe"</ADB>
</SDKTool>

</SDKTools>

.............................................................................................................

My WDJava.build file:

buildscript {
repositories {
Google()
mavenCentral()
flatDir {
// Location for jars provided by WinDev (leave as is)
dir "$RepGen$/libs"
}
}

dependencies {
// Android Gradle Plugin compatible with Gradle 7.x
classpath 'com.android.tools.build:gradle:7.4.2'
$AdditionalDependencies$
}
}

allprojects {
repositories {
Google()
mavenCentral()
jcenter() // fallback only
flatDir {
dir "$RepGen$/libs"

}

}

apply plugin: 'com.android.application'

android {
compileSdkVersion 35
buildToolsVersion "35.0.0"

defaultConfig {
minSdkVersion 21
targetSdkVersion 35

}

compileOptions {
sourceCompatibility JavaVersion.VERSION_11

targetCompatibility JavaVersion.VERSION_11

}

javaCompileOptions {
annotationProcessorOptions {

/ empty if options are needed

}

}

/ Remove any explicit reference to embedded aapt2
aaptOptions {

/ uses aapt2 from the SDK (no forcing here)
useNewCruncher = true

}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

/ other WinDev dependencies (the $AdditionalDependencies$ macro is retained)

}

..................................................................
Despite these modifications, WM 25 does not recognize the new Graddle 7.x or 8.x. Is a modification required elsewhere?

Message envoyé le 05-12-2025 par Ismokasa16 (Mali)  
Does modifying the Graddle version in WDjava.dat bypass WM 25's check for Graddle version 5.4.1 in the build window?

If yes: I tried it, but it doesn't work for me.

If no: Where should I modify this configuration?

Message envoyé le 08-12-2025 par duke_hj (Royaume-Uni)  
A hint may help. Search for gradle.bat, you'll find this code:


:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\lib\gradle-launcher-5.4.1.jar

@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.launcher.GradleMain %CMD_LINE_ARGS%

:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1

As far as I remember, Windev executes a series of .bat files, and this one is pointing to gradle 5.4.1

or maybe the file update.ini, it points to 5.41

[Gradle]
Version=5.41

Best regards

Message envoyé le 08-12-2025 par Ismokasa16 (Mali)  
As I said, I modified all these files: WDJava.bat, .build, update.ini, and Graddle.bat is included in the bin folder (of Graddle), so if you update, it replaces the old one. Mine is at 7.6.6 and is located at graddle-launcher-7.6.6.

So I no longer know what needs to be modified.

Message envoyé le 09-12-2025 par Jackson (Bosnie)  
Si cela peut vous aider, voici à quoi cela ressemble dans la version 2025.

WDJAVA.DAT
<?xml version="1.0" encoding="utf-8"?>
<SDKTools>
     <GRADLE>"$Java$" -Duser.dir="$RepGen$" "-Dorg.gradle.appname=$RepGen$" -classpath "$JarGradle$" org.gradle.launcher.GradleMain</GRADLE>
     <!--
     $RepPlatform$ : Répertoire relatif de la plateforme de compilation. Exemple : platforms\android-8
     $Java$ : chemin de java.exe à utiliser
     $RepGen$ : répertoire de génération. Exemple : C:\Mes Projets\WM_Android\Android\Generation
     $RepBuildTools$ : Répertoire ou se trouve les outils de build. Exemple : build-tools\17.0.0
     -->
     <SDKTool VersionMin="26" VersionMax="26">
          <Android>"$Java$" -Dcom.android.sdkmanager.toolsdir="$RepAndroid$tools" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee -classpath "$RepAndroid$\tools\lib\dvlib-26.0.0-dev.jar;$RepAndroid$\tools\lib\jimfs-1.1.jar;$RepAndroid$\tools\lib\jsr305-1.3.9.jar;$RepAndroid$\tools\lib\repository-26.0.0-dev.jar;$RepAndroid$\tools\lib\j2objc-annotations-1.1.jar;$RepAndroid$\tools\lib\layoutlib-api-26.0.0-dev.jar;$RepAndroid$\tools\lib\gson-2.3.jar;$RepAndroid$\tools\lib\httpcore-4.2.5.jar;$RepAndroid$\tools\lib\commons-logging-1.1.1.jar;$RepAndroid$\tools\lib\commons-compress-1.12.jar;$RepAndroid$\tools\lib\annotations-26.0.0-dev.jar;$RepAndroid$\tools\lib\error_prone_annotations-2.0.18.jar;$RepAndroid$\tools\lib\animal-sniffer-annotations-1.14.jar;$RepAndroid$\tools\lib\httpclient-4.2.6.jar;$RepAndroid$\tools\lib\commons-codec-1.6.jar;$RepAndroid$\tools\lib\common-26.0.0-dev.jar;$RepAndroid$\tools\lib\kxml2-2.3.0.jar;$RepAndroid$\tools\lib\httpmime-4.1.jar;$RepAndroid$\tools\lib\annotations-12.0.jar;$RepAndroid$\tools\lib\sdklib-26.0.0-dev.jar;$RepAndroid$\tools\lib\guava-22.0.jar" com.android.sdklib.tool.AvdManagerCli</Android>
          <ADB>"$RepAndroid$platform-tools\adb.exe"</ADB>
     </SDKTool>
     <SDKTool VersionMin="23" VersionMax="25">
          <Android>"$Java$" -Djava.ext.dirs=.\tools\lib -Djava.library.path=.\tools\lib -Dcom.android.sdkmanager.toolsdir="$RepAndroid$tools" -Dcom.android.sdkmanager.workdir=.\tools -jar .\tools\lib\sdkmanager.jar -s</Android>
          <ADB>"$RepAndroid$platform-tools\adb.exe"</ADB>
     </SDKTool>
     <SDKTool VersionMin="5" VersionMax="7">
          <Android>"$Java$" -Dcom.android.sdkmanager.toolsdir="$RepAndroid$tools" -classpath "$RepAndroid$\tools\lib\avdmanager-classpath.jar" com.android.sdklib.tool.AvdManagerCli</Android>
          <ADB>"$RepAndroid$platform-tools\adb.exe"</ADB>
     </SDKTool>
     <SDKTool VersionMin="8" VersionMax="22">
          <Android>"$Java$" -Dcom.android.sdkmanager.toolsdir="$RepAndroid$cmdlines-tools\latest" -classpath "$RepAndroid$cmdlines-tools\latest\lib\avdmanager-classpath.jar" com.android.sdklib.tool.AvdManagerCli</Android>
          <ADB>"$RepAndroid$platform-tools\adb.exe"</ADB>
     </SDKTool>
</SDKTools>


Message envoyé le 09-12-2025 par Jackson (Bosnie)  
WDJAVA.build
buildscript {
     repositories {
          google()
          jcenter()
     }

     dependencies {
          classpath 'com.android.tools.build:gradle:$AndroidGradlePluginVersion$'
$AdditionalDependencies$
     }
}
repositories {
     google()
     jcenter()
     flatDir {
          dirs getProject().file('libs')
     }
$AdditionalRepositories$
}
apply plugin: 'com.android.application'
archivesBaseName = '$AppBaseName$'
android {
     compileSdkVersion $SDKVersion$
     buildToolsVersion '$BuildToolVersion$'
     namespace = "$PackageName$"
     $UsesLibraries$
$DefaultConfig$
     sourceSets {
          main {
               manifest.srcFile getProject().file('AndroidManifest.xml')
               java.srcDirs = [getProject().file('src')]
               resources.srcDirs = [getProject().file('src')]
               res.srcDirs = [getProject().file('res')]
               assets.srcDirs = [getProject().file('assets')]
               aidl.srcDirs = [getProject().file('src')]
               jniLibs.srcDirs = [getProject().file('libs')]
          }
     }
     compileOptions {
$CompileOptions$
    }
     tasks.withType(JavaCompile) {
        configure(options) {
            options.compilerArgs << "-XDstringConcat=inline"
        }
    }

     lintOptions {
          abortOnError false
     }
     signingConfigs {
          fromFile {
               $SignStoreFile$
               storePassword '$SignPass$'
               keyAlias '$KeyAlias$'
               keyPassword '$KeyPass$'               
          }
     }
     aaptOptions {
          noCompress 'FNC'
     }
     
     dexOptions {
          preDexLibraries = true
          jumboMode = false
          javaMaxHeapSize = '$JavaXmx$'
    }
     
     bundle {
          language {
               enableSplit = false
          }
          density {
               enableSplit = true
          }
          abi {
               enableSplit = true
          }
     }
     
     buildFeatures {
          buildConfig = $EnableBuildConfig$
     }
     
     buildTypes {
          debug {
          zipAlignEnabled true
          minifyEnabled $ProguardEnable$
          proguardFile file('$ProguardFile$')
        multiDexEnabled true
$BuildConfigField$
          }
          release {
          zipAlignEnabled true
          minifyEnabled $ProguardEnable$
          proguardFile file('$ProguardFile$')
          multiDexEnabled true
$BuildConfigField$
          }
          applicationVariants.all { variant ->
               variant.outputs.each { output ->
                    output.outputFileName = new File(archivesBaseName + "$AppExtension$")
               }
          }
     }

     packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}

dependencies {
     // Remote binary dependency
$RemoteDependency$

     // Modules dependency
$ModulesDependency$

     // Local binary dependency
     implementation fileTree(dir: getProject().file('libs'), include: ['*.jar','*.aar'])
$LocalDependency$
}

gradle.projectsEvaluated {
     tasks.withType(JavaCompile) {
          options.warnings = false
          $AdditionalOptionsCompile$
     }
}

$AdditionalPlugins$

Message envoyé le 09-12-2025 par Jackson (Bosnie)  
GRADLE.BAT
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem      https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################

@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal

set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%..

@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi

@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" "-javaagent:%APP_HOME%/lib/agents/gradle-instrumentation-agent-8.9.jar"

@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome

set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute

echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto execute

echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

:execute
@rem Setup the command line

set CLASSPATH=%APP_HOME%\lib\gradle-gradle-cli-main-8.9.jar


@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.launcher.GradleMain %*

:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd

:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%

:mainEnd
if "%OS%"=="Windows_NT" endlocal

:omega


Pour répondre à ce message vous devez être membre

Entrée membre    Enregistrer




Retour © 1996-2026 forum.acam.ca