2013-04-19 7 views
11

Ho letto questo:
Error in AndroidManifest.xml "must have a minimum of 2 segments" ma non c'è soluzione.Il pacchetto dell'applicazione 'AndroidManifest.xml' deve avere almeno 2 segmenti

Si verifica dopo aver modificato il nome del progetto con refactor-> rinomina (anziché con com.example.my app solo su myapp) e successivamente ho cambiato il nome anche nel manifest.

Ecco il codice: (.) ​​

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

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

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="save_money.MainActivity" 
      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="save_money.Article" 
      android:label="@string/title_activity_article" > 
     </activity> 
     <activity 
      android:name="save_money.HashmalActivity" 
      android:label="@string/title_activity_hashmal" > 
     </activity> 
     <activity 
      android:name="save_money.ImageAdapter" 
      android:label="a" > 
     </activity> 
     <activity 
      android:name="save_money.SavedItems" 
      android:label="פריטים שמורים" > 
     </activity> 
     <activity 
      android:name="save_money.Screen2HashmalActivity" 
      android:label="עלות צריכה" > 
     </activity> 
     <activity 
      android:name="save_money.SelectArticle" 
      android:label="בחר מאמר" > 
     </activity> 
    </application> 

</manifest> 
+0

penso che la risposta nell'altra domanda avesse ragione: non chiamare il tuo progetto "save_money" ma "com.save_money" almeno, anche se personalmente ti suggerisco "com.yournickname_or_company.savemoney" –

+2

'com. example.my app non può essere stato il nome del pacchetto originale. I nomi dei pacchetti non possono contenere spazi. Non dovresti davvero usare 'save_money' come nome di un pacchetto. Quando scegli il nome di un pacchetto, dovresti cercare di renderlo univoco in quanto potrebbero sorgere degli errori se due app hanno lo stesso. Inoltre, il nome del pacchetto non è "rivolto all'utente", quindi non è necessario utilizzare il gergo di marketing, in pratica nessuno lo vedrà, quindi non ha senso. – FoamyGuy

+0

google resstrinct il nome: è necessario utilizzare un nome di pacchetto diverso perché "com.example" è limitato. "com" senza "esempio" è ok? – user2073729

risposta

31

Che cosa significa è la dichiarazione di pacchetto nel manifesto deve avere almeno due porzioni separate da un punto. Invece di dire semplicemente package="save_money", cambialo in package="com.save_money". Questo dovrebbe rimuovere il tuo errore. Allo stesso modo, ovunque tu specifichi il nome di un'attività, devi anche aggiornarlo lì. Buona fortuna!

2

Suppongo che sia necessario disporre di almeno 2 segmenti per il nome del pacchetto. Quindi invece di package="save_money Prova package="me.save_money" o quello che vuoi.

Problemi correlati