Android GradleでversionCodeを自動インクリメントする方法
2023-09-20 02:42:17
質問
私はGradleに基づいた新しいAndroidビルドシステムを実験しており、私はそれでversionCodeを自動増加させる最良の方法は何かと考えています。私は 2 つのオプションについて考えています。
- versionCode ファイルを作成し、そこから番号を読み取り、それを増加させ、ファイルに書き戻す。
- AndroidManifest.xml を解析し、そこから versionCode を読み取り、増加させて AndroidManifest.xml に書き戻します。
もっと簡単で適切な解決策はないでしょうか。
どなたか、上記の選択肢をお使いになった方で、教えていただける方はいらっしゃいますか?
どのように解決するのですか?
私は2番目のオプションのために決定した - パースする
AndroidManifest.xml
. 以下は動作中のスニペットです。
task('increaseVersionCode') << {
def manifestFile = file("AndroidManifest.xml")
def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
def manifestText = manifestFile.getText()
def matcher = pattern.matcher(manifestText)
matcher.find()
def versionCode = Integer.parseInt(matcher.group(1))
def manifestContent = matcher.replaceAll("versionCode=\"" + ++versionCode + "\"")
manifestFile.write(manifestContent)
}
tasks.whenTaskAdded { task ->
if (task.name == 'generateReleaseBuildConfig') {
task.dependsOn 'increaseVersionCode'
}
}
versionCode
は、この場合、リリースビルドのために解放されます。デバッグビルド用に増やす場合は
task.whenTaskAdded
のコールバックを変更します。
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Android StudioのGradleとは?
-
[解決済み] Gradle for Androidを使用して、外部のaarパッケージを手動でインクルードする方法
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み] gradleの追加プロパティでVersionCodeを自動インクリメントする
-
[解決済み] AppCompat-v7 21でアクションバー/ツールバーにアイコンを表示する。
-
[解決済み] ブルートゥースアプリケーションのテストにアンドロイドエミュレータを使用するには?
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] gradleの追加プロパティでVersionCodeを自動インクリメントする
-
[解決済み] 設定ページに移動せずに位置情報サービスをオンにする
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] AndroidでTextViewの下にアンダーラインを引くには
-
[解決済み] BottomNavigationViewを新しいNavControllerで使用する際に、フラグメントを生かす方法はありますか?
-
[解決済み] Travis.yml ./gradlew : パーミッションが拒否されました。
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない
-
[解決済み] WhatsAppでメッセージを送信する