2013-04-15 14 views
6

Ich bekomme merkwürdige Probleme während der Installation der App.Installationsfehler: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

Ich habe create Google Map V2 example und es funktioniert gut. Nach allem Erfolg habe ich JAVA - XML - Manifest Datei in meinem älteren Projekt integrieren.

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

Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Fehler.

Ich folge this link für Google Map V2 exmaple.

Der Logcate ist strang. Ich kann das Problem nicht finden.

Ich habe versucht so viele Dinge Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Fehler und folgen Sie auch dieser Regel, aber etwas schief geht.

Rnd wrok:

How to fix INSTALL_PARSE_FAILED_MANIFEST_MALFORMED in my android application

Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED code included

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/RoghZWPRK_s

Wenn ich neue Beispieldateien entfernen und älteres Projekt dann seinen Lauf in Ordnung laufen.

Bitte Jungs mir helfen.

Manifestdatei

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="my.pkg" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <supports-screens 
     android:largeScreens="false" 
     android:normalScreens="true" 
     android:smallScreens="true" /> 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="8" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_LOGS" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="my.pkg.permission.MAPS_RECEIVE" /> 

    <permission 
     android:name="my.pkg.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/app_icon" 
     android:label="@string/app_name" 
     android:logo="@drawable/app_icon" 
     android:theme="@style/mytheme" > 
     <activity 
      android:name="Splash" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="my.pkg.Google_Map" > 
     </activity> 


     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyAULMOV1ylxC7wvEIP1hP7EeuKr1dKLaVQ" /> 
    </application> 

</manifest> 

Update:

Logcate

04-15 17:33:37.685: E/power(1482): *** set_screen_state 1 
04-15 17:33:37.692: E/SensorManager(1482): registerListener :: handle = 0 name= BMA222 delay= 60000 Listener= [email protected]06996b8 
04-15 17:33:37.692: E/SensorManager(1482): reg :: handle = 0 
04-15 17:33:37.786: E/ClockWidget(17093): getOrientation portrait 
04-15 17:33:37.786: E/ClockWidget(17093): drawDayText 
04-15 17:33:37.786: E/ClockWidget(17093): width= 50 
04-15 17:33:37.786: E/ClockWidget(17093): widthText= 58.0 
04-15 17:33:37.786: E/ClockWidget(17093): RIGHT 
04-15 17:33:37.810: E/Launcher(1587): setWindowOpaque() 
04-15 17:33:38.692: E/StatusBarPolicy(1544): ecio: 38 
04-15 17:33:38.692: E/StatusBarPolicy(1544): iconLevel: 4 
04-15 17:33:40.653: E/power(1482): *** set_screen_state 0 
04-15 17:33:40.653: E/SensorManager(1482): unregisterListener:: all sensors, listener = [email protected]06996b8 
04-15 17:33:40.653: W/PowerManagerService(1482): CurLockF mPS:0 mUS=0 
04-15 17:33:40.653: W/PowerManagerService(1482): type=FULL_WAKE_LOCK     'keyguard' AW (mS=7) activeT=272 
04-15 17:33:40.653: W/PowerManagerService(1482): mPokeLocks.size=0: 
04-15 17:33:40.755: E/AndroidRuntime(27309): feature code ==> cannot open file 
04-15 17:33:41.021: E/power(1482): *** set_screen_state 1 
04-15 17:33:41.052: E/SensorManager(1482): registerListener :: handle = 0 name= BMA222 delay= 60000 Listener= [email protected]06996b8 
04-15 17:33:41.052: E/SensorManager(1482): reg :: handle = 0 
04-15 17:33:41.146: E/Launcher(1587): setWindowOpaque() 
04-15 17:33:41.169: E/ClockWidget(17093): getOrientation portrait 
04-15 17:33:41.169: E/ClockWidget(17093): drawDayText 
04-15 17:33:41.169: E/ClockWidget(17093): width= 50 
04-15 17:33:41.169: E/ClockWidget(17093): widthText= 58.0 
04-15 17:33:41.169: E/ClockWidget(17093): RIGHT 
04-15 17:33:42.997: W/ActivityManager(1482): No content provider found for: 
04-15 17:33:43.817: E/StatusBarPolicy(1544): ecio: 38 
04-15 17:33:43.817: E/StatusBarPolicy(1544): iconLevel: 4 
04-15 17:33:46.286: E/power(1482): *** set_screen_state 0 
04-15 17:33:46.286: W/PowerManagerService(1482): CurLockF mPS:0 mUS=0 
04-15 17:33:46.286: W/PowerManagerService(1482): mPokeLocks.size=0: 
04-15 17:33:46.294: E/SensorManager(1482): unregisterListener:: all sensors, listener = [email protected]06996b8 
04-15 17:33:46.364: E/StatusBarPolicy(1544): ecio: 37 
04-15 17:33:46.364: E/StatusBarPolicy(1544): iconLevel: 4 
04-15 17:33:47.075: W/ActivityManager(1482): No content provider found for: 
04-15 17:33:51.497: E/StatusBarPolicy(1544): ecio: 36 
04-15 17:33:51.497: E/StatusBarPolicy(1544): iconLevel: 4 
04-15 17:33:54.060: E/StatusBarPolicy(1544): ecio: 35 
04-15 17:33:54.060: E/StatusBarPolicy(1544): iconLevel: 4 
04-15 17:33:56.630: E/StatusBarPolicy(1544): ecio: 33 
04-15 17:33:56.630: E/StatusBarPolicy(1544): iconLevel: 4 
04-15 17:34:00.005: E/ClockWidget(17093): getOrientation portrait 
04-15 17:34:00.005: E/ClockWidget(17093): drawDayText 
04-15 17:34:00.005: E/ClockWidget(17093): width= 50 
04-15 17:34:00.005: E/ClockWidget(17093): widthText= 58.0 
04-15 17:34:00.005: E/ClockWidget(17093): RIGHT 
04-15 17:34:01.732: E/StatusBarPolicy(1544): ecio: 32 
04-15 17:34:01.732: E/StatusBarPolicy(1544): iconLevel: 4 
+0

'LogCat' Link erscheint erledigt sein. – jnthnjns

+0

@Asok danke für repaly.i haben Update das, bitte überprüfen Sie es erneut –

+0

Auch schlechte Praxis, um Ihre Dateien zu verknüpfen, schließen Sie sie hier in der Post statt. (logcat und manifest) –

Antwort

23

Es war sehr schwierig, die Lösung zu finden, weil Logcat sagte etwas anderes. Endlich habe ich die Lösung für meine obige Abfrage gefunden.

Das Problem war in meinem Paketnamen: Ich hatte das erste Zeichen des Paketnamens auf Großbuchstaben wie Chintan.Khetiya.Package gesetzt.

Im Allgemeinen, das war für mich in meinem älteren Projekt arbeiten, aber als ich versuchte, Google Maps Code in meinem bestehenden Projekt, dann ist die Manifestdatei ist nicht erlaubt zu verwenden, um einen Großbuchstaben im Paketnamen zu implementieren .

So, endlich habe ich es durch Kleinbuchstaben wie chinta.khetiya.package ersetzt, und aktualisiert meinen neuen Google Maps Key mit dem neuen Paketnamen.

Jetzt funktioniert es.

Seien Sie also vorsichtig, wenn Sie Ihren Paketnamen festlegen. See more here.

+0

Ich denke auch, dass dein Aktivitätsname mit einem Punkt '.' beginnen sollte. +1 für deine Lösung tho. – Houssni

+0

Das ist so wierd. Obwohl meine Namespaces Großbuchstaben enthalten "NamespacePart1.NameSpacePart2.ActivityClassName "Ich musste es Kleinbuchstaben, aber lassen Sie den Klassennamen wie folgt:" namespacepart1.namespacepart2.ActivityClassName ". Aber es hat funktioniert. Danke! –

+0

Danke dafür - das ist die Art von Problem, die Sie Ihre Haare für Tage über ziehen konnte, also danke für Stackoverflow und Internet Suche .. – Matt

1

Der Fehler ist auf Ihren Kommentar Nutzung in Ihrer Manifest-Datei durch. Sie können keine Kommentare wie diese in Ihrem Manifest verwenden:

// new update 

Sie werden die XML-Weg benutzen müssen, etwa so:

<!-- new update --> 

//// EDIT:

Eigentlich Sie verwenden eine benutzerdefinierte Berechtigung, bevor Sie die Berechtigung deklarieren. Versuchen Sie, diesen Teil dreht sich um:

<uses-permission android:name="my.pkg.permission.MAPS_RECEIVE" /> 

    <permission 
     android:name="my.pkg.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

zu

<permission 
     android:name="my.pkg.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

<uses-permission android:name="my.pkg.permission.MAPS_RECEIVE" /> 
+0

Ich habe keinen Kommentar in meine Manifest-Datei hinzugefügt, es ist nur für highlight.thanks für die Wiedergabe –

+0

Ah, mein Schlechter. Nahm genauer hin und fand wahrscheinlich den eigentlichen Grund. Sie deklarieren die Verwendung einer benutzerdefinierten Berechtigung, bevor Sie diese Berechtigung tatsächlich deklarieren. Versuchen Sie, diesen Teil dreht sich um:

+0

Entschuldigung, Alter funktioniert nicht. –

1

Ihr Paketname sollte mit Kleinbuchstaben beginnen. Angenommen Sie haben:

Com.Example.packagename 

Changed es so etwas wie

com.example.packagename 

, dass Ihr Problem lösen wird.

+0

Es hat für mich funktioniert, danke für die Antwort ... es ist so lahm, dass wir alle Großbuchstaben in kleinere Fälle setzen müssen – Joe

0

Sie sollten android hinzu: name = statt android "Splash".: Name = "Splash"

Modified Code unten ::: GLÜCKLICHE CODING :)

<activity 
      android:name=".Splash" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

Das OP hat das Problem schon gefunden und eine Antwort entsprechend erstellt . – mkl