web-dev-qa-db-ja.com

INSTALL PARSEの失敗MANIFEST MALFORMEDの失敗

アプリケーションのインストール中に奇妙な問題が発生します。

プロジェクトをコンパイルしてもエラーは発生しませんが、そのショーを起動しようとすると、

インストールエラー:INSTALL_PARSE_FAILED_MANIFEST_MALFORMEDエラー。

私はインストールエラーに関連する多くのことを試しました:INSTALL_PARSE_FAILED_MANIFEST_MALFORMEDエラーもそのルールに従いますが、何かがうまくいきません。

<manifest
Android:hardwareAccelerated="true"
Android:versionCode="1"
Android:versionName="0.0.1"
package="Work.Work"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<supports-screens
    Android:anyDensity="true"
    Android:largeScreens="true"
    Android:normalScreens="true"
    Android:resizeable="true"
    Android:smallScreens="true"
    Android:xlargeScreens="true" />
<uses-permission Android:name="Android.permission.INTERNET" />
<application
    Android:hardwareAccelerated="true"
    Android:icon="@drawable/icon"
    Android:label="@string/app_name"
    Android:supportsRtl="true">
    <activity
        Android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
        Android:label="@string/activity_name"
        Android:launchMode="singleTop"
        Android:name="MainActivity"
        Android:screenOrientation="portrait"
        Android:theme="@Android:style/Theme.DeviceDefault.NoActionBar"
        Android:windowSoftInputMode="adjustResize">
        <intent-filter Android:label="@string/launcher_name">
            <action Android:name="Android.intent.action.MAIN" />
            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        Android:exported="true"
        Android:name="com.plugin.gcm.PushHandlerActivity" />

    <receiver
        Android:name="com.plugin.gcm.CordovaGCMBroadcastReceiver"
        Android:permission="com.google.Android.c2dm.permission.SEND">
        <intent-filter>
            <action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
            <action Android:name="com.google.Android.c2dm.intent.REGISTRATION" />

            <category Android:name="Work.Work" />
        </intent-filter>
    </receiver>
    <service Android:name="com.plugin.gcm.GCMIntentService" />
    <activity
        Android:exported="true"
        Android:name="com.Adobe.phonegap.Push.PushHandlerActivity" />

    <receiver Android:name="com.Adobe.phonegap.Push.BackgroundActionButtonHandler" />
    <receiver
        Android:exported="true"
        Android:name="com.google.Android.gms.gcm.GcmReceiver"
        Android:permission="com.google.Android.c2dm.permission.SEND">
        <intent-filter>
            <action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
            <category Android:name="${applicationId}" />
        </intent-filter>
    </receiver>

    <service
        Android:exported="false"
        Android:name="com.Adobe.phonegap.Push.GCMIntentService">
        <intent-filter>
            <action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
        </intent-filter>
    </service>
    <service
        Android:exported="false"
        Android:name="com.Adobe.phonegap.Push.PushInstanceIDListenerService">
        <intent-filter>
            <action Android:name="com.google.Android.gms.iid.InstanceID" />
        </intent-filter>
    </service>
    <service
        Android:exported="false"
        Android:name="com.Adobe.phonegap.Push.RegistrationIntentService" />
</application>
<uses-sdk
    Android:minSdkVersion="14"
    Android:targetSdkVersion="23" />

<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
<uses-permission Android:name="Android.permission.WAKE_LOCK" />
<uses-permission Android:name="Android.permission.VIBRATE" />
<uses-permission Android:name="com.google.Android.c2dm.permission.RECEIVE" />
<uses-permission
    Android:name="Work.Work.permission.C2D_MESSAGE"
    Android:protectionLevel="signature" />
<!--<uses-permission Android:name="Work.Work.permission.C2D_MESSAGE" />-->
<!--<uses-permission Android:maxSdkVersion="18" Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />-->
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission
    Android:name="${applicationId}.permission.C2D_MESSAGE"
    Android:protectionLevel="signature" />
<!--<uses-permission Android:name="${applicationId}.permission.C2D_MESSAGE" />-->
8
Milan Patel

このようにパッケージ名に大文字が含まれていたため、このエラーが発生していました。

Com.Droider.packagename;

それを次のように変更した後:

com.droider.packagename;

あなたの場合、それを次のように変更してみてください:

work.work;

編集1:

これも原因かもしれません。

Android:name="MainActivity"

これを次のように変更します。

Android:name=".MainActivity"
23
Jay Rathod RJ

すべてを確認してください

 Android:name="..."

あなたのマニフェストで、あなたがそれを持っているはずの名前の先頭にドットを置くのを忘れたかどうかを確認してください、ほとんどはクラスの名前です。

3
Rachel

私の場合、Android:processの値に「:」を付けます

<service
        Android:name=".Views.Views.services.MyService"
        Android:process=":remote" />

わたしにはできる

1
package="Work"

APKマニフェストpackageの名前には、少なくとも1つの.区切り文字を含める必要があります。例えば:

package="work.work"

PackageParser source を読んで、インストールがINSTALL_PARSE_FAILED_MANIFEST_MALFORMEDで失敗するさまざまな方法を確認できます。

1
laalto

パッケージ名に大文字が含まれています。すべての文字が小文字になるようにパッケージをリファクタリングしてみてください。これを行うには、プロジェクトのパネルでAndroid表示モードになっていることを確認し、表示インジケータの少し右側にある歯車をクリックして、コンパクトであることを確認します空の中間パッケージはオフになっています。次に、大文字が含まれているパッケージを右クリックして、[リファクタリング]-> [名前の変更]を選択します。小文字に変更し、AndroidManifest.xmlが小文字になっていることを確認します。それを編集します。

0
Simo Ait ElQadi

私の場合、私はApplicationクラスをメインパッケージフォルダーの外側に配置しました。

アプリケーションクラスをルートアクティビティフォルダに移動するだけです。

0
Sai Gopi N

同じ問題がありました。 大文字で始まる新しいパッケージを作成しました。この同じ問題が発生します。すべてのパッケージフォルダ名を確認し、すべて小文字で入力してください

it was my problem

ハッピーコーディング

0
happy_Coding