PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile (versões anteriores) → APK version 64 bits
APK version 64 bits
Iniciado por Jean, nov., 02 2019 5:55 PM - 8 respostas
Membro registado
282 mensagems
Popularité : +4 (4 votes)
Publicado em novembro, 02 2019 - 5:55 PM
Bonjour,

Quand on a un WM 22 et à part passer à Windev Mobile 24, n'y a-t-il pas la possibilité de générer un Apk en 64 bits ?
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em novembro, 03 2019 - 2:09 AM
Jean c'est une partie du framework qui nécessite cela
par exemple mettre une base en SQLite peut enlever une partie
certaines fonctions aussi
si tu decompresse l'apk (renommé en ZIP) et que le répertoire lib est vide
c'est que tu as gagné.
Membro registado
282 mensagems
Popularité : +4 (4 votes)
Publicado em novembro, 04 2019 - 10:28 AM
Le problème c'est que mon application utilise des fichiers HFSQL en local et pas une base SQLLite.
Du coup je ne vois pas comment faire.
Dans mon cas le répertoire lib n'est pas vide
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em novembro, 05 2019 - 3:26 PM
Jean
si tu as une base HFSQL sans données alors il te suffit dans l'analyse de transformé tes fic en SQLite
sinon il existe des exemple pour le transfert
https://blogs.pcsoft.fr/fr/transferer-fichier-hfsql-vers-base-sqlite/132/read.awp
et des lst 94 ou 111 voir https://stg.webdev.info/publicationSt_WEB/fr/ExLST.awp…
Membro registado
282 mensagems
Popularité : +4 (4 votes)
Publicado em novembro, 05 2019 - 11:03 PM
Le problème c'est que je ne peux pas utiliser une base SQL Lite car mon application s'adresse à des personnes qui n'ont pas forcément de grandes connaissances en informatique et les fichiers HFSQL ne sont pas vides.
L'application Mobile peut éventuellement être synchronisée avec l'application Windows (sa grande sœur) que j'ai développé et qui utilise des fichiers HFSQL.
De plus ne connaissant pas SQL Lite, je ne veux pas m'engager dans cette voie au risque de rendre mon application inutilisable pour des utilisateurs lambda.
Membro registado
11 mensagems
Popularité : +1 (1 vote)
Publicado em novembro, 19 2019 - 11:46 PM
Bonjour,

Le fait de transformer votre base de données de HFSQL en SQLite ne devrait rien changer techniquement pour vos utilisateurs. C'est l'application qui utilise la base de données, pas les utilisateurs finaux ? Une base SQLite physiquement est stockée sous la forme d'un seul fichier et ne nécessite pas de client/serveur, et fonctionne de manière native sous Android.

D'autre part oui, les syntaxes de requêtes en SQLite peuvent différer de la syntaxe de HFSQL. A ma grande surprise d'ailleurs, le HFSQL atteint très vite ses limites en termes de syntaxes de requêtes, SQLite peut aller déjà bien plus loins mais avec une syntaxe bien propre à elle pour certaines choses. Je suis très surprise de cela. Toutefois, s'il n'y a pas beaucoup de requêtes, cela peut être assez simple à faire comme migration.

Je viens de faire l'inverse (SQLite -> HFSQL). Mes sources n'utilisant que les fonctions HFSQL en SQlite, je n'ai pas eux de grosses modifications de code en dehors des requêtes. Les conséquences imprévues ont été en revanche de devoir beaucoup coder en WLangage des opérations simples que peut faire SQLite directement en requête dans l'application.

Pour la génération d'un binaire 64 bits, je vais me pencher sur le sujet car j'en ai besoin. C'est faisable, en tout cas c'est ce que je pense.

Je vais déjà commencer par analyser les APK de ma version de WinDev Mobile (21),avec APK Analyser pour voir l'étendu du boulot : https://developer.android.com/studio/build/apk-analyzer

Ensuite, comme la compilation utilise Gradle, avec des scripts, il doit être possible d'ajouter le support du 64 Bits.

// Enabling builds for your native code is as simple as adding the arm64-v8a and/or x86_64, depending on the architecture(s) you wish to support, to the ndk.abiFilters setting in your app's 'build.gradle' file:
// Your app's build.gradle
apply plugin: 'com.android.app'

android {
   compileSdkVersion 27
   defaultConfig {
       appId "com.google.example.64bit"
       minSdkVersion 15
       targetSdkVersion 28
       versionCode 1
       versionName "1.0"
       ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
// ...


Après, il y a des risques de problèmes de pointeurs, je décortique la doc, tout se passe au niveau des arguments dans les des scripts de compilation.

Par d'autres scripts (batch) aussi, il y a moyen de créer tout en ligne de commande des Android App Bundle (.AAB) qui facilitent les publications. Je regarde tout ça car je suis également confronté à ce problème.

Ca nécessitera probablement un peu d'opérations manuelles, lancer un script dans le dossier du projet par exemple, mais ça devrait être possible avec quelques efforts. Ce sont les outils du SDK d'Android qui compilent, pas WinDev lui-même. Reste juste le problème des librairies binaires, mais elles existent dans WinDev Mobile 24, donc il y a toujours moyens de les récupérer. Un APK n'est qu'une archive ZIP, il ne faut pas l'oublier.

Cordialement,

Ludovic

--
Développeur C, C++, Java, C#, Python, Asm, Windev Mobile 21
Membro registado
282 mensagems
Popularité : +4 (4 votes)
Publicado em novembro, 20 2019 - 4:47 PM
bonjour Ludovic,

Passer à SQL Lite sur mon appli ne va pas être simple car il y a déjà plusieurs utilisateurs qui utilisent la base HFSQL locale.
De plus, comme c'est une petite, application, j'accède aux données avec les fonctions HyperFile classiques (Hlitrecherche, HLitSuivant,...)
Donc à moins d'avoir un accès natif SQLLite, il faudrait que je revois tous les accès aux fichiers.
Si vous avez une piste pour générer l'APK en 64 bits, j’attends de vos nouvelles.
Merci encore
Cordialement

Jean

Développeur Windev et Windev Mobile jusqu'à la 24
Membro registado
3.311 mensagems
Popularité : +93 (137 votes)
Publicado em novembro, 21 2019 - 1:24 AM
Jean a écrit :
bonjour Ludovic,

Passer à SQL Lite sur mon appli ne va pas être simple car il y a déjà plusieurs utilisateurs qui utilisent la base HFSQL locale.
De plus, comme c'est une petite, application, j'accède aux données avec les fonctions HyperFile classiques (Hlitrecherche, HLitSuivant,...)
Donc à moins d'avoir un accès natif SQLLite, il faudrait que je revois tous les accès aux fichiers.
Si vous avez une piste pour générer l'APK en 64 bits, j’attends de vos nouvelles.
Merci encore
Cordialement

Jean

Développeur Windev et Windev Mobile jusqu'à la 24

je croyais que tu était en WM22
ici tu dis être en 24
donc tu passe ton application en 24 et elle sera en 64.
mais sache que SQLite utilise le même code que hfsql
c'est que l'analyse qui est SQLite plutôt que hfsql
Membro registado
282 mensagems
Popularité : +4 (4 votes)
Publicado em novembro, 21 2019 - 12:07 PM
Popoy a écrit :
Jean a écrit :
bonjour Ludovic,

Passer à SQL Lite sur mon appli ne va pas être simple car il y a déjà plusieurs utilisateurs qui utilisent la base HFSQL locale.
De plus, comme c'est une petite, application, j'accède aux données avec les fonctions HyperFile classiques (Hlitrecherche, HLitSuivant,...)
Donc à moins d'avoir un accès natif SQLLite, il faudrait que je revois tous les accès aux fichiers.
Si vous avez une piste pour générer l'APK en 64 bits, j’attends de vos nouvelles.
Merci encore
Cordialement

Jean

Développeur Windev et Windev Mobile jusqu'à la 24

je croyais que tu était en WM22
ici tu dis être en 24
donc tu passe ton application en 24 et elle sera en 64.
mais sache que SQLite utilise le même code que hfsql
c'est que l'analyse qui est SQLite plutôt que hfsql


C'est une erreur de ma part.. c'est bien en version 22.
La version 24 (voir 25) me sera accessible dans qqes temps.