見出し画像

Android開発で「INSTALL_FAILED_MISSING_SHARED_LIBRARY」エラーが出たときの対処法

Android Studioでの開発中のこと…

こんなエラーに遭遇しました。

10/26 09:25:12: Launching 'app' on Pixel 4 API 33.
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_MISSING_SHARED_LIBRARY

Android Studioのエラー出力より

このエラーが出た経緯とか解決策について

アプリビルド⇒インストール時にエラー発生

このエラーが出るまでの経緯です。

  • Android Studioで新規プロジェクトを作る

  • Activityとかレイアウトを適当に追加

  • エミュレータを起動してインストール

なんてことはない手順です。

でも初回ビルド時から既におかしかったです。
ビルド時の時点でbuild.gradle関連のエラーが出てました。

▼ プリジェクトレベルのbuild.gradleの内容

buildscript {
    /// ▼ この部分でエラー発生
    ext.kotlin_version = "1.5.31-release-542"
    repositories {
        google()
        mavenCentral()
    }
...
}

セットアップ手順に従っただけなのに、ext.kotlin_version のせいでエラーが出てしまってました。だから修正します。

▼ このように修正

buildscript {
    ext.kotlin_version = "1.5.31"
    repositories {
        google()
        mavenCentral()
    }
...
}

何とかビルドは正常にできました。
でもこの時点で構成に不具合があったんだと思います。

そしてビルドしてインストールしたところ……

冒頭のエラーが発生

10/26 09:25:12: Launching 'app' on Pixel 4 API 33.
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_MISSING_SHARED_LIBRARY

共有ライブラリがないという旨のエラー

こんなエラー始めてみたのでビックリしました。

原因はAndroidManifest.xmlの余計な記述

そこで原因を探っていくことに

build.gradleも修正、コードにもエラーなし。

最後に気付いたのがAndroidManifest.xmlの余計な記述です。

▼ なんか余計な設定が追加されていた

<application android:label="@string/app_name">
    <activity android:name=".MainActivity"android:exported="true">
        <intent-filter>
           <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- ▼ 余計な設定を発見 -->
    <uses-library android:name="com.google.android.things" />

</application>

やっぱりプロジェクト作成時点でおかしかったようです。

そこでこの記述を消して再ビルドしました。
そしてエミュにインストールすると無事起動成功!

新規プロジェクトなら作り直しも考える

こういうイレギュラーなこともAndroid Studioでは起こります。

特に新規プロジェクトを作ったとき、コードすら書いてないのに意味不明なエラーとか警告が出ることも珍しくないです。

もし新規プロジェクトで本格的に開発してないなら……
思い切ってプロジェクトを0から作り直すのも手だと思います。

この記事が気に入ったらサポートをしてみませんか?