1. ホーム
  2. android

[解決済み] アプリの(レイアウト)XML変数からマニフェストのバージョン番号を取得するにはどうすればよいですか?

2022-04-14 08:42:36

質問

コードの主要部分で、プロジェクトのマニフェストのバージョン番号を参照する方法が欲しいです。今までやっていたのは、String XML ファイル内のバージョン番号をマニフェストにリンクすることです(@string/Version)。私がやりたいのは、その逆で、String XML 変数をマニフェストのバージョンにリンクさせることです。その理由は?私は、マニフェスト ファイルという 1 つの場所でバージョン番号を変更するだけでよいようにしたいと思います。これを行う方法はありますか?ありがとうございます。

解決方法は?

バージョンを直接出す方法はありませんが、2つの回避策があります。

  1. バージョンは、リソース文字列に格納され、によってマニフェストに配置される可能性があります。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.somepackage"
         android:versionName="@string/version" android:versionCode="20">
    
    
  2. カスタムビューを作成し、XMLに配置することができます。ビューはこれを使用して、名前を割り当てます。

    context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
    
    

これらのソリューションのいずれかを使用すれば、XMLにバージョン名を配置することができます。残念ながら、次のようなシンプルな解決策はありません。 android.R.string.version とか、そんな感じです。