2016-05-06 10 views
3

Ich bekomme ein seltsames Problem während der Installation der Anwendung.Fehler INSTALL PARSE FAILED MANIFEST MALFORMED

Wenn ich mein Projekt dort kompilieren ist kein Fehler, aber wenn ich seine Shows versucht, mich zu starten,

Installationsfehler: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Fehler.

Ich habe versucht, so viele Dinge im Zusammenhang mit Installation Fehler: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Fehler und auch diese Regel, aber etwas schief geht.

<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" />--> 
+0

Was ist Ihr 'Paketname'? Ist es nur 'package =" Work "' das? –

+0

Nein, ich werde den Paketnamen ändern. @ Jaydroider –

+0

Überprüfen Sie meine Antwort unten. –

Antwort

14

Ich hatte diesen Fehler, weil ich Großbuchstaben in meinem Paketnamen wie dieser hatte.

Com.Droider.packagename; 

Nachdem ich es so etwas wie verändert hatte:

com.droider.packagename; 

In Ihrem Fall versuchen, es zu ändern:

work.work; 

EDIT 1:

May be this causes also.

android:name="MainActivity" 

Change this to.

android:name=".MainActivity" 
+0

ich überprüfe alle kleinen letzteren wie com.droider.packagename; –

+0

@MailandPatel ist damit gearbeitet? –

+0

nein bhai es ist nicht Arbeit bitte siehe oben mein Kommentar. –

1
package="Work" 

APK manifestieren package Namen mindestens eine . Separators in ihnen enthalten. Zum Beispiel:

package="work.work" 

können Sie die PackageParser source lesen über die verschiedenen Möglichkeiten zu lernen, Installation mit INSTALL_PARSE_FAILED_MANIFEST_MALFORMED fehlschlagen kann.

+0

es ist keine lösung, Ich ändere den Paketnamen. –

+0

Es ist ein Problem, das Sie haben. Es könnte andere geben. – laalto

0

einfach alle überprüfen die

android:name="..." 

in Ihrem Manifest und sehen, ob das ein Punkt am Anfang eines Namens zu setzen vergessen, die es haben sollte, vor allem Namen Ihrer Klassen.

0

in meinem Fall wenn Sie Ihre Aktivität verändern, dass die Aktivität Namen von AndroidManifest.xml Datei aus Manifest-Datei

0

Ihr Paketname

<activity 
     android:name=".fragment_change_password" 
     android:screenOrientation="portrait" /> 

entfernt diese Art von Linien dann entfernen fragmentieren hat einen Großbuchstaben drin. Versuchen Sie, Ihr Paket so zu refactorisieren, dass alle Buchstaben klein geschrieben sind. Stellen Sie dazu im Fenster für Ihr Projekt sicher, dass Sie sich im Android-Ansichtsmodus befinden, und klicken Sie dann auf das Zahnrad rechts neben dem Ansichtsindikator. Stellen Sie dann sicher, dass die kompakten leeren mittleren Pakete deaktiviert sind. Als nächstes klicke mit der rechten Maustaste auf dein Paket mit einem Großbuchstaben und wähle refactor -> rename. Ändern Sie es in einen Kleinbuchstaben, überprüfen Sie Ihre AndroidManifest.xml ist jetzt ein Kleinbuchstabe, wenn nicht, manuell bearbeiten.