2013-04-15 13 views
6

ho riscontrato strani problemi durante l'installazione dell'app.Errore di installazione: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

Ho creato Google Map V2 example e funziona correttamente. Dopo tutto il successo ho integrato il file JAVA - XML - Manifest nel mio vecchio progetto.

Quando ho compileing il mio progetto non v'è alcun errore, ma quando ho cercando di lanciare i suoi spettacoli mi

Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED errore.

Sto seguendo this link per Google Map V2 exmaple.

Il LogCate è strano. non riesco a trovare un problema

ho provato così tante cose relative all'errore Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED e anche a seguire quella regola ma qualcosa va storto.

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

Se rimuovo i nuovi file di esempio ed eseguire il progetto più vecchio allora la sua esecuzione va bene.

Per favore ragazzi aiutatemi.

File manifesto

<?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> 

Aggiornamento:

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' collegamento sembra essere rotto. – jnthnjns

+0

@Asok grazie per repaly.i ho l'aggiornamento che, per favore controlla di nuovo –

+0

Anche le cattive pratiche per il collegamento ai tuoi file, li includono qui nel post, invece. (logcat e manifest) –

risposta

23

E 'stato molto difficile trovare la soluzione, perché Logcat detto qualcos'altro. Finalmente ho trovato la soluzione per la mia domanda precedente.

Il problema era nel nome del pacchetto: avevo impostato il primo carattere del nome del pacchetto su una lettera maiuscola come Chintan.Khetiya.Package.

In generale, che stava lavorando per me nel mio progetto più vecchio, ma quando ho provato a implementare il codice di Google Maps nel mio progetto esistente, poi il manifest non è consentito di utilizzare una lettera capitale nel nome del pacchetto .

Così, finalmente l'ho sostituito con caratteri minuscoli come chinta.khetiya.package e aggiornato la mia nuova chiave di Google Maps con il nuovo nome del pacchetto.

Ora funziona.

Quindi fai attenzione quando imposti il ​​nome del pacchetto. See more here.

+0

Penso che anche il nome dell'attività dovrebbe iniziare con un punto '.'. +1 per la tua soluzione – Houssni

+0

Questo è così strano. Anche se i miei spazi dei nomi contengono lettere maiuscole "NamespacePart1.NameSpacePart2.ActivityClassName "Ho dovuto metterlo in minuscolo ma lasciare il nome della classe così com'è:" namespacepart1.namespacepart2.ActivityClassName ".Ma ha funzionato.Grazie! –

+0

Grazie per questo - questo è il tipo di problema con cui potresti strapparti i capelli per giorni, così grazie al cielo per StackOverflow e ricerca su Internet .. – Matt

1

L'errore è dovuto al tuo commento utilizzo nel file manifest. Non è possibile utilizzare i commenti di questo tipo nel vostro manifesto:

// new update 

dovrete utilizzare la via XML, in questo modo:

<!-- new update --> 

//// EDIT:

In realtà, stai utilizzando un'autorizzazione personalizzata prima di dichiarare l'autorizzazione. Provare a girare questa parte intorno:

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

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

a

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

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

non ho aggiunto commenti nel mio file manifest, è solo per highlight.thanks per replay –

+0

Ah, mio ​​male. Ho preso un'occhiata più da vicino e ho trovato probabilmente trovato il vero motivo. Si dichiara utilizzando un'autorizzazione personalizzata, prima di dichiarare effettivamente questa autorizzazione. Provare a girare questa parte intorno:

+0

scusa, amico non funziona. –

1

Il nome del pacchetto deve iniziare con la lettera minuscola. Supponiamo di avere:

Com.Example.packagename 

cambiato in qualcosa di simile a

com.example.packagename 

che risolverà il tuo problema.

+0

ha funzionato per me, grazie per la risposta ... è così zoppo che dobbiamo mettere tutti maiuscola in caso più piccolo. – Joe

0

si dovrebbe aggiungere android: name = al posto di Android "Splash".: Name = "Splash"

codice modificato di seguito ::: FELICE codifica :)

<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

l'OP già trovato il problema e ha creato una risposta di conseguenza . – mkl