Comment créer une application apk de plus de 5 megs avec App Inventor (MIT)



Voici une solution à la limite de 5 megs fixée par l’App Inventor classique et l’App Inventor 2 du MIT…

1) Sauvegardez votre application AI sous un fichier de format .apk.

2) Téléchargez ApkTool de http://ibotpeaches.github.io/Apktool et installez le sur votre ordinateur.

3) Copiez votre fichier .apk dans le répertoire qui contient désormais le programme Apktool et situé dans le lecteur c: de votre ordinateur (devrait normalement se situer dans le c:/apktool).

4) Ouvrez le terminal de votre ordinateur; retournez dans le c:/ en tapant cd.. dans le terminal (le refaire jusqu’à ce que vous soyez au c:/). Une fois dans le c:/, tapez cd apktool (si vous avez bel et bien installé Apktool sous ce répertoire particulier, cela dit).

5) Toujours dans le terminal, tapez apktool d NomDeVotreFichier.apk (ex.: apktool d Test.apk). Cela va vous permettre de “dézipper” votre fichier .apk et un répertoire (NomDeVotreFichier) sera alors créé; sous celui-ci, vous trouverez votre manifeste .apk ainsi que les autres répertoires et fichiers concernés. Si vous apercevez un répertoire nommé meta-inf, vous pourrez le détruire. Ouvrez maintenant le répertoire intitulé “asset”; vous pourrez y copier vos fichiers là (détruisez ou ajoutez-y les fichiers requis pour votre application)… La bonne nouvelle est que vous n’avez maintenant plus à vous en faire pour la fameuse limite des 5 megs du MIT App Inventor !

6) Maintenant que ceci est fait, retournez dans le terminal et tapez apktool b NomDeVotreFichier NomDeVotreFichier.apk (ex. : apktool b Test Test.apk).

7) En faisant cela, vous avez alors “zippé” de nouveau l’application vers un fichier .apk de format standard, celui-ci incluant désormais les fichiers que vous avez ajoutés au répertoire “asset”. Copiez ce nouveau fichier .apk sur votre desktop…

8) Vous devrez maintenant utiliser un programme qui porte comme nom JarSigner afin de signer votre fichier .apk. Ce programme est inclus à la version 1.6.0.45 de Java et c’est cette version que j’utilise (Jarsigner peut ne pas être inclus dans les versions ultérieures de Java). Vous pouvez télécharger Java 1.6.0.45 ici : http://filehippo.com/download_jre_32/14872/. Une fois que cette version de Java est téléchargée et installée sur votre ordinateur, vous devrez ouvrir de nouveau le terminal et vous rendre dans le répertoire du programme Jarsigner. Celui-ci se situe sous le répertoire bin de Java… c:/Program Files/Java/jdk1.6.0_45/bin/…

9) Sous le répertoire bin (et toujours en utilisant le terminal), tapez : jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore android.keystore C:LocalisationDeVotreDesktopNomDeVotreFichier.apk androidkey (ex. : jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore android.keystore C:UsersRobDesktopTest.apk androidkey)

10) Jarsigner vous demandera le mot de passe du keystore… par défaut, ce mot de passe pour AI est “android”. Votre .apk est maintenant signé. Bravo.

11) Avant de le téléverser dans Google Play, vous devrez l’aligner avec le programme Zipalign ! L’outil Zipalign fait partie du SDK Android (1.6 et versions ultérieures) et l’on peut le retrouver sous le répertoire des outils propres à ce SDK. Pour l’utiliser, vous devrez exécuter cette commande dans le terminal: zipalign -v 4 source.apk destination.apk. Par exemple : zipalign -v 4 Test.apk Test2.apk … Une fois l’alignement complété, détruisez le fichier Test.apk et renommez Test2.apk à Test.apk (afin de préserver le nom original du fichier).

12) Testez votre fichier .apk dans votre appareil mobile afin de vous assurer que tout fonctionne bien et, si tout est correct, vous pourrez alors téléverser votre fichier .apk dans Google Play !

Si vous avez besoin d’aide supplémentaire concernant cette procédure, n’hésitez pas à me contacter. Pour un montant de US$20.00, je pourrai mettre à jour votre fichier .apk selon ladite procédure et le rendre adéquat pour le téléversement vers Google Play. Incluez à votre courriel votre fichier .apk dument zippé (vous pouvez utiliser le programme 7-zip pour y parvenir; il s’agit d’un outil gratuit) et mentionnez également le mot de passe de votre keystore si vous l’avez modifié de sa valeur par défaut qui est “android”. Je vous transmettrai par courriel un lien Paypal pour votre paiement ainsi qu’un lien vers un serveur sécurisé qui vous permettra d’y téléverser les fichiers que vous aimeriez ajouter au répertoire “asset” de votre .apk. Une fois le paiement effectué, vous recevrez de ma part un courriel final incluant votre fichier .apk dument mis à jour.

Meilleures salutations.

Advertisements

Code permettant à une application créée avec le MIT App Inventor de détecter la présence d’une connexion Internet ou WiFi



Plusieurs créateurs d’applications Android utilisent la fonction “webviewer” propre à l’outil MIT App Inventor; celle-ci permet alors à l’application de charger un site web HTML, ce qui est très utile pour les données en ligne nécessitant l’utilisation de l’Internet et / ou l’insertion d’annonces publicitaires d’Adsense, Chitika ou Bidvertiser, notamment. Ceci étant dit, de nombreuses applications se connectent directement à des sites Web sans vérifier au préalable si une connexion Internet ou Wi-Fi est disponible. Lorsque cela se produit, les utilisateurs de l’application peuvent parfois voir une page informant que le site n’a pu être téléchargé, ce qui est – bien souvent – une bonne raison pour eux de désinstaller votre application de leur téléphone intelligent Android.

Par conséquent, cela peut être une bonne idée d’inclure à votre fichier .apk un code qui va vérifier, avant le lancement du site Web, si une connexion Internet ou Wi-Fi est disponible. Si c’est le cas, la page va être téléchargée par le biais de la fonction “webviewer” mais si une telle connexion n’est pas disponible, l’application va tout simplement informer l’utilisateur que l’application nécessite une telle connexion.

Voici le code:

 

Check Internet connection prior to launching Android's webviewer function

Fichier à télécharger : ConnectionCheck.zip

Quelques éléments à considérer :

1- googleUrl est configuré vers http://www.google.com puisque Google est un site virtuel accessible en permanence. L’application va donc vérifier si le téléphone Android est bel et bien connecté à un réseau Internet ou WiFi en tentant de se connecter à Google. La réponse obtenue sera soit un code 200 (connexion disponible) ou 1101 (connexion non disponible). Si la connexion est disponible, la fonction “WebViewer1.GoToUrl” va alors télécharger le site web désiré par le créateur de l’application. Si la connexion n’est pas disponible, le message “Aucune connexion”, “Erreur de connexion” ou “Erreur de programme” apparaitra suivi du message “Une connexion Internet est requise pour que cette application fonctionne”. Il est à noter que vous pourrez modifier le message souhaité sous la fonction “Label1.Text”.

Screen1

2- Il sera aussi important d’utiliser un minimum de deux fenêtres pour l’application, soit une fenêtre pour le “splash screen” et une autre qui permettra à l’application de diffuser le site web concerné par le biais de la fonction “webviewer”. La fenêtre 1 devra être configurée selon un mode “visible” alors que la fenêtre 2 sera “invisible”. La hauteur et la largeur de ces deux fenêtres devront être configurées selon le mode “Fill parent…” (très important).

ScreenArrangement1

ScreenArrangement2

N’hésitez pas à me contacter si vous avez des commentaires ou des questions. C’est toujours un plaisir d’aider !

Meilleures salutations.

Robert Radford