Posts by Lecherbault

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 uploaded a new version of my application to Google Play, and I received this email from Google:

    "...
    com.google.android.play:core has added this note for core:1.10.3:
    Update your Play Core Maven dependency to an Android 14 compatible version! Your current Play Core library is incompatible with targetSdkVersion 34 (Android 14), which introduces a backwards-incompatible change to broadcast receivers to improve user security. As a reminder, from August 31, Google Play requires all new app releases to target Android 14. Update to the latest Play Core library version dependency to avoid app crashes: Please login to see this link.
    You may not be able to release future versions of your app with this SDK version to production or open testing.
    ..."

    I don't really know what to do anymore. I'm using MMF 2.5 Steam, version 295.10. and I use API build 33 with Android Version minimum 6 - Version and Android target 14. I have subscribed to beta versions in the settings of Fusion in your Steam client...

    I have Version 2.5 MMF 295.10

    I use API de construction 33

    Version Android minimum 6 - Version Android cible 14


    I want to make an MAJ in Google Play Console for 10 of my applications, but i receive always this message de Google:

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

    You may not be able to release future versions of your app with this SDK version to production or open testing."

    what's wrong?

    Thanks

    Another problem: The geolocation, localization.mfx, no longer seems to work... I have several applications that use this extension, and I have been told that it has not worked for some time. In particular, I have a paramedical application which locates blood and plasma collections around the user, and it no longer works: [url]Please login to see this link.
    Google has strengthened its tools regarding location, with either access_coarse_location or access_fine_location... I don't really know what to check anymore, I checked coarse, is that the problem?

    Yes there is a new version that if offers for free from Just An App, and I sent it to Extension manager, when ready i will let you know.

    you mean it worked on 294

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

    please apply patch 295.10 and let me know what date you have in the file Scan.dat in data/runtime/android of your Fusion directory.

    Thank Fernando.I now have version 295.10. I have 13/11/2019 2879 ko for Scan.dat.
    I tried to compile, but same error.

    I cannot compile my program ... I have an error. I am under MMF 2.5 Steam R295.9 version. I work with API 33 and Android Min 6.0 and Max 14.0. I use scan.mfx. Thank you for helping me:

    ***********************

    > Task :app:preBuild UP-TO-DATE
    > Task :app:preReleaseBuild UP-TO-DATE
    > Task :app:compileReleaseRenderscript NO-SOURCE
    > Task :app:generateReleaseResValues
    > Task :app:mapReleaseSourceSetPaths
    > Task :app:generateReleaseResources
    > Task :app:createReleaseCompatibleScreenManifests
    > Task :app:extractDeepLinksRelease
    > Task :app:processReleaseMainManifest
    > Task :app:processReleaseManifest
    > Task :app:processApplicationManifestReleaseForBundle
    > Task :app:compileReleaseAidl NO-SOURCE
    > Task :app:generateReleaseBuildConfig
    > Task :app:javaPreCompileRelease
    > Task :app:checkReleaseAarMetadata
    > Task :app:mergeReleaseResources
    > Task :app:mergeReleaseShaders
    > Task :app:compileReleaseShaders NO-SOURCE
    > Task :app:generateReleaseAssets UP-TO-DATE
    > Task :app:mergeReleaseAssets
    > Task :app:processReleaseJavaRes NO-SOURCE
    > Task :app:checkReleaseDuplicateClasses
    > Task :app:mergeReleaseJniLibFolders
    > Task :app:desugarReleaseFileDependencies
    > Task :app:mergeReleaseNativeLibs
    > Task :app:writeReleaseAppMetadata

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

    > Task :app:mergeReleaseJavaResource
    > Task :app:collectReleaseDependencies
    > Task :app:configureReleaseDependencies
    > Task :app:parseReleaseIntegrityConfig
    > Task :app:validateSigningRelease
    > Task :app:mergeReleaseArtProfile
    > Task :app:extractReleaseNativeSymbolTables
    > Task :app:processReleaseManifestForPackage
    > Task :app:mergeExtDexRelease
    > Task :app:bundleReleaseResources
    > Task :app:processReleaseResources

    > Task :app:compileReleaseJavaWithJavac
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:241: error: cannot find symbol
    if(MMFRuntime.deviceApi > 22) {
    ^
    symbol: variable deviceApi
    location: class MMFRuntime
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:244: error: cannot find symbol
    MMFRuntime.inst.pushForPermissions(permissionsApi23, PERMISSIONS_SCAN_REQUEST);
    ^
    symbol: method pushForPermissions(HashMap<String,String>,int)
    location: variable inst of type MMFRuntime
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:245: error: cannot find symbol
    if(MMFRuntime.inst.verifyOkPermissionsApi23(permissionsApi23))
    ^
    symbol: method verifyOkPermissionsApi23(HashMap<String,String>)
    location: variable inst of type MMFRuntime
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:303: error: cannot find symbol
    MMFRuntime.inst.askForPermissionsApi23();
    ^
    symbol: method askForPermissionsApi23()
    location: variable inst of type MMFRuntime
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:309: error: method does not override or implement a method from a supertype
    @Override
    ^
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:312: error: cannot find symbol
    enabled_perms = verifyResponseApi23(permissions, permissionsApi23);
    ^
    symbol: method verifyResponseApi23(String[],HashMap<String,String>)
    location: class CRunScan
    C:\Users\al\AppData\Local\Temp\AndA3DF.tmp\app\src\main\java\Extensions\CRunScan.java:349: error: cannot find symbol
    MMFRuntime.inst.askForPermissionsApi23();
    ^
    symbol: method askForPermissionsApi23()
    location: variable inst of type MMFRuntime
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    7 errors

    > Task :app:compileReleaseJavaWithJavac FAILED

    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 28s
    31 actionable tasks: 31 executed

    Question on google:

    Final reminder: By November 1, 2023, version 4 will be abandoned and any update of an existing application will first require migration to PBL version 5 or later. We are sending you this reminder because one or more of your applications are still using Play Billing Library (PBL) version 4.
    Important Notes: If your app targets Android 14 or later, you need to upgrade to PBL 5.2.1, PBL 6.0.1 or later.

    Is there ok about mmf?

    Alain

    La sauvegarde de mon fichier se fait correctement avec la version 295.8.

    Mais maintenant Google Console écrit: "D'après la déclaration d'identifiant publicitaire de la Play Console, votre appli utilise un identifiant publicitaire. Un fichier manifeste dans vos artefacts actifs n'inclut pas l'autorisation com.google.android.gms.permission.AD_ID."

    Où est cette autorisation?

    *************

    My file is saved correctly with version 295.8.

    But now Google Console writes: "According to the Play Console advertising ID declaration, your app uses an advertising ID. A manifest file in your active artifacts does not include the com.google.android.gms permission. permission.AD_ID."

    Where is this authorization?

    Try 295.8 that was released yesterday. If you're using the French version of Fusion I think the Android object was outdated in 295.7 (I saw it and fixed it a couple of hours before releasing the build).

    Thank you Yves. I will load version 295.8. Would I need to check the "read_external_storage", "write_external_storage" and "manage_external_storage" permissions?
    Merci Yves. Je vais charger la version 295.8. Aurais-je besoin de cocher les autorisations "read_external_storage", "write_external_storage" et "manage_external_storage"?

    Can you share how you save this file, so we know what with dealing with?

    because using a scopedstorage is simple as you using externalstorage


    PublicScopedStorageDirectory$( "Android object", "downloads" ) + "/" + "makefolder/picturecopy.jpg"

    i have "PublicStorageDirectory$( ...)" in "Android Object", but i don't see "PublicScopedStorageDirectory$( ...)"... I want to save a simple file.txt (about kcfile.mfx ans saving file) to load it in another page. The file does exist on my smartphone, but I cannot recover it with the program... Should I declare the "write_external_storage" and "read_external_storage" permissions? I am a little lost...

    Concretely, how do I do it with MMF? It's starting to get difficult to maintain an application. My application has 100,000 downloads to date; and today it is no longer able to function. I have a simple .txt file to save (list). How do I do it with MMF?

    Voici ce que rapporte Bard IA:

    L'autorisation de stockage limitée est une nouvelle fonctionnalité introduite dans Android 11. Elle permet aux applications d'accéder à un espace de stockage dédié, qui est isolé du reste du stockage de l'appareil. Cela permet de protéger les données des applications contre les applications malveillantes.

    Pour utiliser le stockage limité dans votre application, vous devez suivre ces étapes :

    Dans votre fichier AndroidManifest.xml, ajoutez l'autorisation READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE pour votre application.
    Dans votre code, utilisez l'API FileProvider pour créer un fournisseur de fichiers pour votre application.
    Dans votre code, utilisez l'API Context.getExternalFilesDir() pour obtenir un pointeur vers le dossier de stockage limité de votre application.
    Voici un exemple de code pour utiliser le stockage limité :

    // Ajoutez l'autorisation READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE dans votre fichier AndroidManifest.xml.
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    // Créez un fournisseur de fichiers pour votre application.
    public class MyFileProvider extends FileProvider {

    @Override
    public File getExternalFilesDir(Context context, String type) {
    // Retourne le dossier de stockage limité de votre application.
    return context.getExternalFilesDir(type);
    }
    }

    // Obtenez un pointeur vers le dossier de stockage limité de votre application.
    File file = context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS);

    // Ecrivez un fichier dans le dossier de stockage limité de votre application.
    FileOutputStream fos = new FileOutputStream(file);
    fos.write("Hello, world!".getBytes());
    fos.close();

    // Lisez le fichier du dossier de stockage limité de votre application.
    FileInputStream fis = new FileInputStream(file);
    byte[] bytes = new byte[(int) file.length()];
    fis.read(bytes);
    fis.close();

    // Afficher le contenu du fichier.
    System.out.println(new String(bytes));

    Une fois que vous avez effectué ces étapes, votre application devrait pouvoir accéder et écrire dans le stockage limité.

    Pour vérifier que votre application a accès au stockage limité, vous pouvez utiliser l'outil adb shell pour afficher les autorisations de votre application.

    adb shell dumpsys package YOUR_PACKAGE_NAME
    Si votre application a accès au stockage limité, vous devriez voir la ligne suivante dans la sortie de l'outil :

    permissions:
    read_external_storage: granted
    write_external_storage: granted
    Si votre application n'a pas accès au stockage limité, vous devriez voir la ligne suivante dans la sortie de l'outil :

    permissions:
    read_external_storage: denied
    write_external_storage: denied
    Si vous rencontrez toujours des problèmes pour accéder au stockage limité, vous pouvez consulter la documentation d'Android sur le stockage limité.

    Voici quelques conseils pour faire en sorte que votre fichier texte soit sauvegardé et lu sur le smartphone de vos utilisateurs :

    Utilisez un nom de fichier unique pour votre fichier texte. Cela permettra à votre application de trouver facilement le fichier.
    Sauvegardez le fichier dans un dossier de stockage limité. Cela garantira que le fichier est protégé contre les applications malveillantes.
    Utilisez un encodeur et un décodeur pour coder et décoder le contenu de votre fichier texte. Cela aidera à protéger le contenu du fichier contre les modifications non autorisées.
    J'espère que cela vous aidera à résoudre votre problème.