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レベルに対応するメリット**:
最新の機能やセキュリティ強化に対応できます。
コメント
コメントを投稿