1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Android Studioでビルドができない問題

Posted at

ビルドできない

Androidアプリを作ろうと思い、早速ビルドを行うと問題が発生した。
以下のようなエラーが発生。

Dependency 'androidx.activity:activity:1.8.0' requires libraries and applications that
      depend on it to compile against version 34 or later of the
      Android APIs.

      :app is currently compiled against android-33.

翻訳すると、

androidx.activity:activity:1.8.0'に依存するライブラリとアプリケーションは、
バージョン34以降でコンパイルする必要があります。
依存するライブラリとアプリケーションは、バージョン34以降でコンパイルする必要があります。
に対してコンパイルする必要があります。

 現在、アプリはandroid-33に対してコンパイルされています。

言うことを聞いてみる

app配下にあるbuild.gradle.ktの数値を変えて、バージョンを変えてみる。
compileSdk = 34
targetSdk = 34
に変更。

sdkのバージョン変更後

コードを確認すると、targetSdkの方に赤い波線がでてしまう。
エラーの内容は以下の画像の通り。
Untitled.png

ドキュメントを参照すると、仮想デバイスのAPIレベルが足りていないと書かれていた。
ドキュメントはこちら

そこで、APIレベルが34以上の仮想デバイスをインストールした。

それぞれ変更した変数の役割について

そもそも何を変更したのかわからない。なんでうまくいったのかを調べるためにまずは変更した変数の意味を調べた。

compileSDK

compileSdkVersion specifies the Android API level Gradle should use to compile your app. This means your app can use the API features included in this API level and lower.

compileSdkVersionは、Gradleがアプリをコンパイルする際に使用するAndroid APIレベルを指定します。これは、アプリがこのAPIレベル以下に含まれるAPI機能を使用できることを意味します。

コンパイルに使うSDKのバージョン。新しい機能を使えるようにするため、基本的には現時点での最新を指定する。


minSdk

Defines the minimum API level required to run the app.

アプリの実行に必要な最低限のAPIレベルを定義します

アプリの最低OSバージョン。
古いOSをサポートする場合、この値を小さくする。


targetSdk

Specifies the API level used to test the app.

アプリのテストに使用するAPIレベルを指定します。

問題のやつ。翻訳してもよくわからなかったので、調べたところわかりやすい説明があったため引用しました。

アプリを動作させるAPIレベルを指定します。compileSdkと同じく基本的には現時点での最新を指定すればいいですが、例えばAndroid 12(APIレベル31)対応が完了していない場合、targetSdkを30に指定すればAndroid 12でも11のように振る舞う、ということです。

参考:https://qiita.com/uhooi/items/0f2ad61d83b96d9166c8

targetSdkを33にする

これは、実行時にどのOSバージョンの互換モードで動かすかの指定。
だからここは最新ではなくてもよい。

バージョンを以下のように修正し

compileSdk = 34
targetSdk = 33

ビルドをし直すと、うまく動作した!


内容についての指摘や追加情報等ございましたら、コメントで教えていただけますと幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?