build_gradle_エラー_google_play_requires api level 33 or higher


android studioで 

新規プロジェクトを作成したとき、


build.gradle.ktsの

target sdk の値は 34だったのですが、


いったん 31に変更すると、


google play requires 

to submit apps api level 33 or higher


というような表示がされたので


33 あるいは 34にすると、


it seems sdk upgraded 


launch sdk upgrade assistant 


consult with documentation about migration


などのメッセージが赤い文字で表示されたのですが、


これらは


アプリを google playに提出しない場合は、

修正しなくてもいいのでしょうか?


もし、修正したいのであれば、

どのような方策があるのでしょうか?




**Android StudioでのSDKレベルの変更に関するメッセージの詳細**:


### **Google Playの要件について**


Google Playにアプリを提出する場合、

最低APIレベルが33以上である必要があります。


この要件を満たさない場合、アプリの提出が拒否されます。


ただし、Google Playにアプリを提出しない場合は、

APIレベルに関する制約はありません。


その場合、最低限の動作環境に応じて、任意のAPIレベルを選択できます。



---


### **赤い文字のメッセージが表示される理由**


`build.gradle.kts`で`targetSdkVersion`

または`compileSdkVersion`を変更すると、

次のようなメッセージが表示されることがあります。


1. **`SDK upgrade`関連メッセージ**

  

   新しいAPIレベルに適応するためのコード変更が必要になることがあります。

   特に、API 33や34では、

   プライバシーや権限に関する変更が加えられており、

   それに適応するためのガイドが表示されます。


2. **`Launch SDK Upgrade Assistant`メッセージ**

  

   Android Studioが提供する

   「SDKアップグレードアシスタント」を使うことで、

   変更が必要な箇所を確認し、適切な修正方法を学べます。


---


### **Google Playに提出しない場合の対応**


Google Playにアプリを提出しない場合、

これらの修正を必ずしも行う必要はありません。

ただし、次の場合に修正が必要になることがあります:


- 高いAPIレベルでしか動作しない機能を使用している場合。



- アプリを最新のAndroidデバイスでテストする際にエラーが発生する場合。


この場合、APIレベルを下げる(例: API 31に固定する)ことで、

エラーを回避することができます。


---


### **修正方法**


APIレベルを変更した場合に発生する

潜在的な問題を修正する方法を以下に示します:


#### 1. **`SDK Upgrade Assistant`を使用**

   - **手順**:

   

     1. 赤いメッセージの横に表示されている

「Launch SDK Upgrade Assistant」をクリック。


     2. 変更が必要なコードや設定がリストアップされるので、指示に従って修正。


   - **メリット**:

   

     自動で変更箇所をハイライトしてくれるため、

修正箇所を見逃すリスクを減らせます。


#### 2. **公式ドキュメントを参照**


   - 例えば、[API 33]

(https://developer.android.com/about/versions/13/changes)

や[API 34]

(https://developer.android.com/about/versions/14/changes)

に関連する公式ドキュメントを参照し、必要な変更を確認する。


#### 3. **`compileSdkVersion`と`targetSdkVersion`を調整**


   `build.gradle.kts`で以下の値を変更します。


   ```kotlin

   

   android {

   

       compileSdk = 33 // または34

   

       defaultConfig {

   

           targetSdk = 33 // または34

   

       }

   }

   

   ```


#### 4. **発生するエラーに対処**


   - プログラムコードでAPI変更に起因するエラー

(メソッドやクラスの非推奨化など)が発生した場合、それを修正。


   - 権限やプライバシー設定の変更が影響する場合、

適切にコードを修正する。


---


### **簡易的な対応方法**


もしGoogle Playへの提出がなく、

実験的なプロジェクトであれば、以下の設定でエラーを回避できます。


1. **APIレベルを固定**


   API 31に固定しても問題がない場合、

   そのまま利用する。ただし、最新デバイスで動作を確認してください。


2. **動作確認用にターゲットAPIを調整**


   デバイスやAndroidエミュレーターで動作確認を行う際にAPIレベルを調整します。


---


### **まとめ**


- **Google Playに提出しない場合**: 

修正は必須ではありません。

ただし、ターゲットデバイスの環境によって調整が必要な場合があります。


- **修正したい場合**: 

`SDK Upgrade Assistant`や公式ドキュメントを参照し、

指示に従って修正してください。


- **新しいAPIレベルに対応するメリット**: 

最新の機能やセキュリティ強化に対応できます。


コメント