Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

4 - Pour badger il suffit de poser une carte sur le lecteur nfc (à l'arrière du smartphone)

Environnement

Pré-requis

  • Gradle  2.14.1 (ou supérieur, non testé ...)
  • Android SDK API level 22Gradle 2.10 ou +
  • Pour le dev et debug : Android SDK API level 22, Android Studio 2

Logiciel

L'application est prévue pour tourner sous Android 5 minimun

...

Bloc de code
languagebash
git clone https://github.com/EsupPortail/esup-nfc-tag-droid.git

Installation des pré-requis :

N'hésitez pas à installer ces briques en fonction de vos habitudes et de votre OS.

Ici on propose l'installation manuelle sur un linux en ligne de commandes (sur la machine faisant office de serveur directement).

Notez que l'installation d'Android Studio ( https://developer.android.com/studio ) sur un poste client est sans doute plus simple/direct à installer et mettre en oeuvre.

Gradle

On peut simplement récupérer la version 2.14.1 depuis l'url suivante : 

https://gradle.org/next-steps/?version=2.14.1&format=bin

 Android SDK API level 22

En dehors d'android studio, la récupération du SDK d'Android se fait via le dsk-tools.

https://developer.android.com/studio/#command-tools

On le télécharge et on le dézippe en tant qu'utilisateur (esup ici pour nous) qui se chargera de compiler/packager l'applciation android.

Le sdk-tools est donc disponible ici : /home/esup/sdk-android-tools

On installe mainetant le sdk d'android , level 22 : 

Bloc de code
[esup@carbonne bin]$ ./sdkmanager 'platforms;android-22'
[esup@carbonne bin]$ ./sdkmanager 'build-tools;22.0.1'

On accepte au passage la licence proposée.

Le SDK et outils associés ont ainsi été installéq dans le home d'esup : 

Bloc de code
 

On pourra positionner ANDROID_HOME ainsi dans le .bashrc de l'utilisateur esup : 

Bloc de code
[esup@carbonne ~]$ echo 'export ANDROID_HOME=/home/esup' >>  ~/.bashrc

 

Autres ...

Si à la compilation (cf ci-dessous compilation via gradle clean assemble), vous trouvez des erreurs types 

 

Bloc de code
java.io.IOException: Cannot run program "/home/esup/build-tools/22.0.1/aapt": error=2, Aucun fichier ou dossier de ce type

Il vous manque sans doute des librairies.

En exécutant /home/esup/build-tools/22.0.1/aapt directement on voit quelle librairie il cherche.

Ensuite un 

Bloc de code
yum whatprovides 'libz.so.1'

nous donne le paquet à installer avec yum install.

 

Bloc de code
[root@carbonne ~]# yum install libstdc++* zlib*

Des librairies 32 bits seront à installer notamment. C'est un peu pénible mais on s'en sort.

Compilation esup-nfc-tag-droid

  • esup-nfc-tag-droid génère des logs à destination d'un fichier de logs local au téléphone, à destination d'esupNfcTagServer (envoi de logs par POST au serveur) et à destination d'une adresse mail système. Les éléments paramétrables (mail systeme, serveur esupNfcTagServer) sont à configurer dans ce fichier src/main/assets/logback.xml
  • modifier src/main/assets/esupnfctag.properties pour spécifier l'adresse de votre esup-nfc-tag-server
  • Vous pouvez spécifier les paramètres de signature de votre APK dans build.gradle, si vous ne souhaitez pas utiliser ceux donnés par défaut (connus de tous). Vous devrez alors créé un keystore : 

...

Bloc de code
languagebash
cp ./build/outputs/apk/esupnfctagdroidesup-nfc-tag-droid-release.apk /<path to>/esup-nfc-tag-server/src/main/resources/apk/esupnfctagdroid.apk

...