LoginSignup
5
3

More than 5 years have passed since last update.

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

Last updated at Posted at 2015-12-03

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

Android開発でapkをインストールする時にこんなエラーが出ることがありました。

検索すると最近の記事で出てくるのは、

といろいろありました。
要はAndroidManifest.xmlの中で引いているActivityやApplicationクラスの名前が、補完されるような指定だと、package名が動的に変わる場合などはビルドはできてもパースに失敗してインストールできないよ、ということでした。

AndroidStudioになって、ビルド時に動的にManifestの書き換えが簡単になりましたが、パッケージ名(applicationId)がbuildTypeやflavorによって変わる場合は完全修飾名でクラスを指定しないといけません。
また、パーミッションやプロバイダー定義項目などのリソース参照も怪しいみたいです。

自分の場合

ちなみに僕の場合は全然これらと違って、

AndroidManifest.xml
        <activity-alias
                android:name=".LaunchActivity"
                android:targetActivity=".MainActivity"
                >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

        <activity
                android:name=".MainActivity"/>

のように書いてしまっていたからでした。
この場合は.MainActivityをactivity-aliasで参照していますが、activityの定義部よりも前で参照してしまっていたため見つからなかったようです。

activityactivity-aliasの順番を入れ替えてactivityを先に宣言すればいいだけでした。

5
3
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
5
3