HOME技術AndroidAndroidアプリ:ライブラリの更新とエラーの修正

Androidアプリ:ライブラリの更新とエラーの修正

Androidアプリを開発していて、Build.gradle(app)の、dependenciesの項目内でハイライト表示されたり、赤い下線が引かれたりすることがあります。
ハイライトはライブラリを更新することを薦めるお知らせで、下線は注意喚起です。
実は放っておいてもエラーで止まることなくビルドできてしまいますが、いずれも修正した方がよいので、修正の仕方を調べました。

ライブラリの更新

読み込んでいるライブラリの最新バージョンがわからなくても、ハイライト表示されている部分にカーソルを合わせれば、最新バージョンが表示されます。
あとはこの最新バージョンに書き換えるだけです。

ライブラリの修正

androidTestImplementation 'com.android.support.test:runner:1.0.2'

implementation 'com.android.support:appcompat-v7:27.1.1'

に赤い下線がつくことがあります。
カーソルを合わせると、2つのバージョンのライブラリが読み込まれているという注意が表示されます。
この場合は、27.1.1と26.1.0でした。
この競合を避けるためには、カーソルを合わせたときに表示されたライブラリを読み込ませるようにdependenciesに追加します。
ここでは、以下の4行を追加しました。

implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:support-media-compat:27.1.1'
implementation 'com.android.support:animated-vector-drawable:27.1.1'
implementation 'com.android.support:customtabs:27.1.1'

このあと、Sync Nowをクリックして反映させると、赤い下線が消えます。

上の画像は、以下のような内容が書かれています。

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 27.1.1, 26.1.0. Examples include com.android.support:animated-vector-drawable:27.1.1 and com.android.support:customtabs:26.1.0
There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version ( or in particular, a version lower than your target Sdk Version).

com.android.supportライブラリーは同じバージョンを利用しなければならないのに、複数のバージョンが見つかったので、以下のライブラリを追加してください、というようなことが書かれています。
この2つ(animated-vector-drawable:27.1.1とcustomtabs:26.1.0)を追加しても、赤線は消えず、最終的には4つのライブラリを追記すると赤線が消えます。

このように、Build.gradle(app)でハイライト表示や赤い下線が表示された場合には、そのままにしてビルドするとランタイムがクラッシュする場合があるため、必ず修正しましょう。

play-services-adsを17.0.0にした場合

com.google.android.gms:play-services-ads:17.0.0

を設定した場合には、AndroidManifest.xmlの修正が必須になります。

<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-****************~**********"/>
    </application>
</manifest>

<application>タグ内に<meta-data />タグを追加します。
*の部分は、AdMobから配付されているアプリケーションIDを指定します。

関連記事

Androidアプリ:ストアの掲載情報

Androidアプリのプログラムが完成したらすぐにGoogle Playにアップロードできるわけではありません。 プログラム以外に必要なデータを以下にリストアップしました。 ストアの掲載情報として必要…続きを読む

Androidアプリ:入力された数値を足して表示する

2つのテキストボックスに入力した数値を受け取り、それぞれを足した結果を表示するアプリをつくります。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを「Ma…続きを読む

Androidアプリ:App is not indexable by Google Search;と表示される

Android Studioで、 App is not indexable by Google Search; consider adding at least one Activity with a…続きを読む

Androidアプリ:Android StudioでデバッグしようとするとPlease select Android SDKと表示される

Android Studioを使っていて、動作確認するために実行(run)をすると、ADVが起動せず、「Error: Please select Android SDK」と表示されてしまった場合の復旧…続きを読む

Androidアプリ:error: expected color reference but got (raw string)

Android Studioでビルドした際に、C:\android\project\***\app\src\main\res\values\styles.xml: AAPT: error: expec…続きを読む

Androidアプリ:ERROR: This project uses AndroidX dependencies, but the ‘android.useAndroidX’ property is not enabled.

Android Studioでビルドしようとしたら、「ERROR: This project uses AndroidX dependencies, but the ‘android.us…続きを読む

Androidアプリを実機で確認する

AndroidアプリをAndroid Studioで開発した際に、実際のスマホの画面で動作確認する方法です。 スマホの設定 以下はArrows FX F-02Hの設定方法です(開発者向けオプションを表…続きを読む

Androidアプリ:ボタンやEditTextに余白(パディング)を設定する

Android StudioでボタンやEditTextに余白(パディング)を設定します。 余白の設定はレイアウトファイル(activity_main.xml)を編集します。 activity_main…続きを読む

Androidアプリ:テキストをリスト表示する

Androidアプリで、ListViewを使い、配列に格納したテキストをリスト表示します。 MainActivity.java import android.app.Activity; import …続きを読む

Androidアプリ:ボタンやEditTextを角丸にする

Android StudioでボタンやEditTextを配置して、角丸にします。 角丸や色などを指定する場合には、それ専用のxmlファイルを別途用意し、読み込ませるようにします。 ボタンの背景色と角丸…続きを読む