PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 23 → Version mini Android 8 (API 26) sur PlayStore
Version mini Android 8 (API 26) sur PlayStore
Débuté par Dav., 18 mai 2018 13:20 - 17 réponses
Membre enregistré
71 messages
Posté le 18 mai 2018 - 13:20
Bonjour,
Je viens de constater qu'à partir d'août 2018, Google n'acceptera plus que les applis (et les mises à jour) ayant pour cible mini Android 8 soit l'API 26.
Du coup, si je comprend bien : on n'a plus qu'à jeter tous nos matos anciens : on ne pourra plus rien installer dessus ?!?!

Côté compilation, après avoir mis à jour le SDK je ne parviens pas à avoir Android 8.0 en version minimale : ca va du 4.0 au 6.0.
Par contre dans la config avancée, je peux choisir 8.0.0 pour le sdk à utiliser pour compiler.
Je suppose que ca vient d'Android Support library : je n'ai que la version 23.1.1 et le SDK Manager ne me propose pas de mise à jour.
Est-ce que quelqu'un sait comment/où récupérer la dernière version ?
Merci.
Posté le 18 mai 2018 - 14:40
C'est uniquement le numéro de target api qui doit être modifié, pas la version min.
WM prendra en compte cette modification dans la prochaine maj. Il y a un billet sur le blog qui explique ça très bien.

https://blogs.pcsoft.fr/fr/aout-2018-google-demande-relever-niveau-api-cible-applications-android-afin-deployer-play-store/281474976710739/read.awp
Membre enregistré
1 179 messages
Popularité : +9 (11 votes)
Posté le 18 mai 2018 - 14:52
Bonjour,

Si j'ai bien compris le billet du blog, les APK générés avec une version WM22 (ou antérieure) ou avec une version 23 qui n'est pas en Update 3 ne pourront plus être déployés dans le Store ?

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Posté le 18 mai 2018 - 15:13
"ÿÿÿÿÿÿÿÿÿÿ" a présenté l'énoncé suivant :
Bonjour,

Si j'ai bien compris le billet du blog, les APK générés avec une version WM22
(ou antérieure) ou avec une version 23 qui n'est pas en Update 3 ne pourront
plus être déployés dans le Store ?


Bonjour,

Oui je comprends la même chose
et là c'est vraiment insupportable !
on nous explique dans ce blog que avec windev Mobile, pas de problèmes
!
il vous suffit d'avoir payé les vs 23 pour passer vos applis en 23 et
faire en sorte que ce vous avez fait continue de marcher.
Sinon POUBELLE !!

Pas un patch de prévu pour les vs précédentes !

Je dirais que Google à vraiment bon dos sur ce coup. On nous avait déjà
fait le coup avec IOS. (et le retina de mémoire)

--
Roumegou Eric

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com
Membre enregistré
71 messages
Posté le 18 mai 2018 - 15:34
Salut,
Merci pour l'info.
Dans le blog il est indiqué : "Toute modification [de android:targetSdkVersion] est déconseillée, le système Android pourrait attribuer des possibilités à l'application pour lesquelles le framework n'a pas été adapté"
... mais en précisant dans les configurations avancées qu'il faut utiliser le SDK Android 8.0.0 pour compiler l'application, pourquoi est-ce que le framework ne serait pas adapté ?

En tout cas, je viens de modifier manuellement la cible dans le manifeste et apparemment tout fonctionne correctement sur mon smartphone.
Je suis de nouveau parti pour une série de test...
Bon week end quand même.
Membre enregistré
1 179 messages
Popularité : +9 (11 votes)
Posté le 18 mai 2018 - 15:44
Je pense que ma version Wm22 achetée il y a 10 mois est certainement bonne pour la casse }:(

Inadmissible !

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
1 179 messages
Popularité : +9 (11 votes)
Posté le 05 juin 2018 - 11:34
Copie d'écran de la console :





--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
71 messages
Posté le 17 juin 2018 - 09:01
Salut,
Petit retour de test :
Avec WindevMobile21, après avoir modifié manuellement l'API target à 26 dans le manifeste et compilé avec le SDK 8.0, Google ne pose plus de pb lors de l'upload dans le store.
Côté appareil, j'ai testé plusieurs fonctionnalités sur un smartphone en 5.1 et une tablette en 4.4.2.
Bilan tout fonctionne parfaitement : vidéo, lecture qrcode, requêtes HTTP, prise/sélection de photos, fenêtre internes, BDD HFSQL, géolocalisation, map...

Conclusion : pas besoin d'acheter le WM23 pour publier une appli sous Android !

En revanche, tant que vous êtes dans le manifeste pensez à jeter un oeil aux fonctionnalités nécessaires/utiles. Grâce à ce forum :
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/28872-app-plus-compatible-dans-play-store-28876/read.awp…
je me suis rendu compte que l'utilisation du zoom de la caméra rendait mon appli incompatible à beaucoup d'appareils dont mes propres matos (qui fonctionnaient pourtant très bien en installation manuelle).
Comme indiqué, Google utilise le manifeste pour créer une liste des appareils incompatibles. En retirant ce zoom gadget, j'ai "récupérer" 4000 appareils compatibles dont mon smartphone !!
Ma tablette étant toujours "incompatible" selon Google, j'ai mis à false les uses-feature nommés android.hardware.location (évidemment en gérant l'erreur de localisation dans l'appli).
Résultat : mon appli est maintenant téléchargeable même sur ma tablette 4.4.2

Conclusion : rajouter des fonctionnalités gadget pour faire "riche" diminue l'accessibilité de nos applis !
A+
DC
Membre enregistré
21 messages
Popularité : +5 (5 votes)
Posté le 24 juin 2018 - 11:53
Dav. a écrit :
Salut,
Petit retour de test :
Avec WindevMobile21, après avoir modifié manuellement l'API target à 26 dans le manifeste et compilé avec le SDK 8.0, Google ne pose plus de pb lors de l'upload dans le store.
Côté appareil, j'ai testé plusieurs fonctionnalités sur un smartphone en 5.1 et une tablette en 4.4.2.
Bilan tout fonctionne parfaitement : vidéo, lecture qrcode, requêtes HTTP, prise/sélection de photos, fenêtre internes, BDD HFSQL, géolocalisation, map...

Conclusion : pas besoin d'acheter le WM23 pour publier une appli sous Android !


Bonjour Dav et merci pour ce premier retour,
mais après de multiples tentatives dans les mêmes conditions de compilation, (selon la configuration du poste je pense)
l'APK se génère mais l'installation sur les appareils montre qu'il n'est pas valide (icône de l'app présente dans le menu mais pas de lancement ou selon la génération pas d'installation possible).


Je vous détaille l'environnement et le paramétrage de la génération pour que vous puissiez faire un petit retour supplémentaire... help... ;)

Version de Windev : F210067F
Gradle en version 2.8

- "Utiliser les outils installés automatiquement (conseillé)" sélectionné
- "Version minimale nécessaire pour exécuter l'application" : Android 4.4
- "Configuration Avançée" / "SDK utilisé pour compiler l'application" / "Android 8.0.0"

(pour avoir le choix Android 8.0.0" j'ai du lancer l'installation du SDK par le "SDK Manager.exe" présent dans le répertoire
"C:\WinDev Mobile 21\Personnel\Android\AndroidSDK" (ou répertoire d'installation de Windev)

- "Activer la génération multidex" : décoché

Pour info, l'apk se génère correctement tant qu'on ne modifie pas le manifeste et qu'on utilise la version 6 du SDK.

--
Logiciels métiers spécifiques, audit, optimisations
Windev WebDev Windev Mobile

www.eliziane.com
Message modifié, 24 juin 2018 - 12:01
Membre enregistré
21 messages
Popularité : +5 (5 votes)
Posté le 24 juin 2018 - 11:59
Pour info le fichier "C:\WinDev Mobile 21\Personnel\Android\Update.ini" contient

[Gradle]
Version=2.8
[AndroidSDK]
Version=24.41
[Android-PlatformTool]
Version=23.01
[Android-BuildTool]
Version=23.02
[Android-Platform23]
Version=0.2
[Android-armeabi-v7a-23]
Version=3.0
[Android-SupportMaven]
Version=25
[Android-GoogleMaven]
Version=23
[Android-usb_driver]
Version=11
[WMAU]
Version=21.1
LastUpdate=20160310205257616
NextUpdate=20160317205257616


--
Logiciels métiers spécifiques, audit, optimisations
Windev WebDev Windev Mobile

www.eliziane.com
Membre enregistré
71 messages
Posté le 26 juin 2018 - 09:23
Bonjour ELIZIANE,
Quand vous dites :
[Pour info, l'apk se génère correctement tant qu'on ne modifie pas le manifeste et qu'on utilise la version 6 du SDK.]
... ca veut dire que l'apk ne fonctionne pas en utilisant la version 8.0.0 même sans modifier le manifeste ?
Si oui, c'est peut-être que le SDK 8.0.0 n'a pas été bien installé. Lancez le SDK Manager.exe et vérifiez :
- que tout est installé dans Android 8.0.0 (API26) ... (ou presque : je n'ai pas les google APIs Intel... et ca fonctionne)
- que dans les Tools vous avez le Android SDK Build Tools 26

Sinon avant de générer le nouvel APK, est-ce que vous avez essayé de tout bien nettoyer :
- suppression de l'ancien apk dans MonProjet\exe\ et sur l'appareil mobile
- suppression du dossier "Android" dans MonProjet\Android\ ATTENTION : pas celui-ci "C:\WinDev Mobile 21\Personnel\Android\
- désinstallation de l'appli sur l'appareil mobile
- suppression du ficher C:\Users\<user>\AppData\Local\Temp\FRMK_Android_XXXXXXX

Pour info : je préfère spécifier l'emplacement du Gradle et du SDK : comme ça pas besoin d'une connexion Internet.

Dav.
Membre enregistré
21 messages
Popularité : +5 (5 votes)
Posté le 30 juin 2018 - 13:23
Merci Dav pour votre réponse qui on fait avancer même s'il semble que des problèmes persistent et certains résultats sont plutôt étonnants...
En faisant quelques mises à jour du SDK çà finit par compiler avec le SDK 8 ok et le targetSDK à 26, par contre à l'exécution c'est problématique sur des fonctions indispensables et qui ne fonctionnent plus "en l'état" (lié aux droits)..

Je suis dans l'attente d'une réponse du support technique... je vous ferais un retour car il reste des zones d'ombres dans la génération des APK avec du code java

En attendant je me suis posé quelques questions concernant vos essais qui pourraient expliquer des différences de comportements constatés ou à constater..

- utilisez vous une base de données HF ? avec les fonction de lecture HAjoute, Hmodifie, HVerifieStrucuture (...) sous Android toujours... - à priori WD21 + HF ne fonctionnera plus avec Android 6 et sup. mais çà fonctionne avec SQLite... ?!? :o incroyable non ? le framework HFSQL semble HS

Vous disiez :
Dav. a écrit :
Côté appareil, j'ai testé plusieurs fonctionnalités sur un smartphone en 5.1 et une tablette en 4.4.2.
Bilan tout fonctionne parfaitement : vidéo, lecture qrcode, requêtes HTTP, prise/sélection de photos, fenêtre internes, BDD HFSQL, géolocalisation, map...

- utilisez vous les fonctions GPS ? si oui avez-vous essayé les demandes de droits par code JAVA
ActivityCompat.requestPermissions(getActiviteEnCours(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 0);
ContextCompat.checkSelfPermission(getContexteApplication(), Manifest.permission.ACCESS_FINE_LOCATION);

- Avez vous également testé votre application sur du matériel en Android 6 mini (en exécution j'ai l'impression que çà commence à se gâter à partir de cette version).. donc attention! attention! ;)

Je confirmerais ou pas selon les retours du support ou nos essais.. à suivre

--
Logiciels métiers spécifiques, audit, optimisations
Windev WebDev Windev Mobile

www.eliziane.com
Posté le 30 juin 2018 - 16:01
Qu'est-ce que PCSOFT ne veut pas que l'on sache !! est qu'ils n'ont pas l'intention de mettre à jour n'importe quelle version de WINDEV MOBILE à partir de la version 23 et plus bas avec le framework 64BIT. rendant la version 23 et inférieure inutilisable à partir d'août 2019 lorsque le framework 64BIT sera obligatoire, donc quiconque achète la version 23 cette année perd son argent si elle ne veut pas se mettre à niveau et les gens qui ont une version inférieure à 24 (qui obtiendra le cadre 64BIT) et ne veulent pas payer pour la mise à niveau, ils ont juste perdu leur argent.
Membre enregistré
71 messages
Posté le 02 juillet 2018 - 08:26
Bonjour Eliziane,
- J'utilise effectivement la géolocalisation, mais en utilisant seulement le code Windev. Dans le manifeste j'ai effectivement la permission ACCESS_FINE_LOCATION, ainsi que ACCESS_COARSE_LOCATION et ACCESS_NETWORK_STATE.
Ma tablette est trop ancienne, donc même avant de manipuler le manifest, la géolocalisation n'a jamais renvoyé d'infos utilisables.
Par contre sur mon smartphone en 5.1 ca fonctionne. Au passage, gpsAuto plante toujours : je teste manuellement d'abord via gpsRéseau, puis gpsSatellite.

- J'utilise aussi une base HFSQL reliée à du MySQL sur mon serveur via des fichiers php : hajoute, hmodifie, hchangeRep et les différentes fonctions de recherche mais pas HVerifieStructure.

- En revanche je n'ai jamais tester sur un matériel en Android 6 et supérieur !! Vous m'inquiétez d'un coup !!!!
Je n'en n'ai pas sous la main pour le moment, pourriez-vous voir si ca tourne pour moi ? voici mes 2 app disponibles sur le store :
Mon principale projet : Guidismo (plateforme de téléchargement de parcours de visites) :
https://play.google.com/store/apps/details…

... et ce petit lecteur de qrcode :
https://play.google.com/store/apps/details…

Evidemment je ne vous demande pas de tout tester. Si il y a un problème, Guidismo plantera dès le démarrage puisqu'il y fait une MAJ de MySQL vers HFSQL.
Par avance merci.
DC
Membre enregistré
21 messages
Popularité : +5 (5 votes)
Posté le 02 juillet 2018 - 19:11
Bonjour Dav, désolé mais un rapide test sur vos 2 applications montrent qu'elles ne démarrent pas sur un Android 6.0.1.
A priori le Guidisimo par le code projet, le lecteur de qrcode dans l'initialisation de votre première fenêtre (apparition furtive)

Il faut se tourner alors vers les fonctions ActivityCompat.requestPermissions() et ContextCompat.checkSelfPermission()

Mais les vrais soucis vont se révéler alors, le gradle utilisé semble en cause et le contournement est délicat et les propriétés qu'il nous est permises de personnaliser sont minces

Les erreurs rencontrées à l'utilisation sous WD21 sont du type
java:nnn: error: cannot find symbol


..même avec un code java pourtant correct }:(

--
Logiciels métiers spécifiques, audit, optimisations
Windev WebDev Windev Mobile

www.eliziane.com
Message modifié, 02 juillet 2018 - 19:12
Membre enregistré
71 messages
Posté le 03 juillet 2018 - 13:21
Bonjour,
Quelle bonne nouvelle !!!!!
Merci quand même d'avoir tester.

du coup je me bat avec ContextCompat.checkSelfPermission() et les "java:nnn: error: cannot find symbol"
J'ai essayé de changer le gradle mais WM21 refuse les versions à partir de 2.10
Voici un bout de code trouvé sur le net :
ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_CALENDAR);
mais l'erreur se porte sur MainActivity.this.
Etant nul en java je ne sais pas comment récupérer le contexte :
- getActivity() ne fonctionne pas
- avec getActiviteEnCours() , l'erreur se reporte sur la methode checkSelfPermission est-ce que j'avance ??

Pour le imports j'ai essayé avec ça :
import android.app.Activity;
import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

Et de votre côté, vous coincé à quel niveau ?
Quand vous dites [les propriétés qu'il nous est permises de personnaliser sont minces], ça veut dire que vous arrivez à lui faire accepter quelques permissions ? Si oui lesquelles ? Avec un peu de chance ca me suffira.

Encore merci pour le test.
Dav.
Membre enregistré
1 179 messages
Popularité : +9 (11 votes)
Posté le 06 juillet 2018 - 15:35
Bonjour,

On peut toujours essayer de bricoler quelque chose mais pour s'adapter aux contraintes de Google, je suis passé en version 23 avec la dernière MAJ
Plus de soucis...

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Membre enregistré
71 messages
Posté le 07 juillet 2018 - 10:15
Bonjour François,
Je passerais bien en 23, mais d'après ce post :
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/31250-support-framework-pour-applications-64bit-dans-windev-mobile-31269/read.awp…
cette version sera inutilisable dans un an !!!
Je préfère donc attendre la sortie de la 24 en fin d'année en espérant pouvoir l'utiliser au moins 2 ans ?!?!

Pour en revenir au code java, dans beaucoup de post il est indiqué qu'il faut mettre dans le fichier build.gradle :
compile 'com.android.support:support-v4:23.0.+'
ce qui est logique puisque c'est dans la version 23 que tout change. Hors à chaque génération d'apk, ce fichier est réécrit avec [...]v4:22.2.+'
Est-ce que c'est pour ça qu'aucune méthode n'est accessible dans ActivityCompat et ContextCompat ?
C'est comme si
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
...n'importait rien.
Y a-t-il un moyen soit de modifier le gradle pour tout récupérer, soit d'intégrer manuellement ces méthodes dans le code java de windev ?
Au passage, pour récupérer le contexte, il faut utiliser quoi : getActivity(), getContexteApplication(), getActiviteEnCours() ?

Cordialement
DC