Obtenir Android: versionName élément manifeste dans le code

Je veux savoir comment parsingr le fichier AndroidManifest.xml afin d’obtenir le numéro de version de l’application par le biais du code. android: versionName

Il n’est pas nécessaire d’parsingr le fichier AndroidManifest.xml pour cela.

Vous pouvez l’obtenir en utilisant:

 try { Ssortingng app_ver = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName; } catch (NameNotFoundException e) { Log.e(tag, e.getMessage()); } 

Utilisez ceci dans votre méthode onCreate() .

Au cas où cela serait utile à quelqu’un d’autre, vous pouvez également accéder @ssortingng ressources @ssortingng à partir d’AndroidManifest.xml, comme vous pouvez le faire à partir d’autres fichiers XML.

Ainsi, par exemple, dans AndroidManifest.xml:

 android:versionName="@ssortingng/app_versionName" 

et en code:

 ssortingng versionName = getResources().getSsortingng(R.ssortingng.app_versionName); 

De cette façon, vous n’avez pas besoin de l’instruction try / catch (ennuyante, imo). Je ne suis pas sûr que ce soit une façon approuvée de faire les choses, mais cela a du sens pour moi.

Si vous utilisez Android Studio, le nom de la version est disponible dans la classe BuildConfig . Cette classe est générée au moment de la compilation:

 Ssortingng versionName = BuildConfig.VERSION_NAME; 

C’est le moyen le plus propre pour récupérer le nom de la version.

Jusqu’à présent, j’ai utilisé l’extrait de code ci-dessous et obtenu le nom de version et le code de version d’ AndroidManifest.xml

 /* Get android:versionName */ Ssortingng versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; /* Get android:versionCode */ int versionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;