2013-09-01 13 views
10

Sto cercando di modificare il mio progetto Eclipse per renderlo compatibile con le versioni precedenti di Android 2.1. Ho seguito le istruzioni per impostare la libreria di supporto da here ma dopo aver collegato il progetto Libreria al mio progetto, il file R.java della directory gen è stato rimosso.Dopo aver configurato android-support-v7-appcompat R.java manca

Inoltre ho avuto alcuni errori nella console, come:

[2013-09-02 00:08:26 - gitarshopAndroidClient] /usr/local/external/android-sdk-linux/extras/android/support/v7/appcompat/res/values-v14/styles_base.xml:24: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar'. 
[2013-09-02 00:08:26 - gitarshopAndroidClient] /usr/local/external/android-sdk-linux/extras/android/support/v7/appcompat/res/values-v14/styles_base.xml:28: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.Light.ActionBar'. 
[2013-09-02 00:08:26 - gitarshopAndroidClient] /usr/local/external/android-sdk-linux/extras/android/support/v7/appcompat/res/values-v14/styles_base.xml:32: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar.Solid'. 

Qualche idea?

+0

Ci sono due opzioni. Il primo è "Aggiunta di librerie senza risorse" e il secondo è "Aggiunta di librerie con risorse". Quale serie di istruzioni hai seguito? – Squonk

+0

Con risorse. – Remarkable

+0

Hmm, beh, gli errori che mostri sono chiaramente correlati alle risorse Android mancanti e questo è il motivo per cui non hai il file R.java poiché la build si interromperà quando proverai a crearla se alcune risorse non possono essere trovate. Ho passato un brutto periodo a lavorare con le compatte v7 compatte - ci sono volute un paio di ore a trafficare. Alla fine penso di aver chiuso il mio progetto, il progetto della biblioteca ha quindi chiuso l'eclisse. Ho quindi riavviato eclipse, ho aperto il progetto della libreria e poi il mio progetto ed eseguito un Clean su entrambi i progetti e tutto è tornato alla normalità. Un po 'un trucco ma è tutto ciò che posso suggerire. – Squonk

risposta

20

Ok, ho capito qual era il problema.

L'obiettivo di creazione del mio progetto era Android 2.1 (API 7). Ho dovuto indirizzare Android 4.0 (API 14) almeno per sbarazzarsi del messaggio di avviso.

LA TUA APP VERRÀ ANCORA SU DISPOSITIVI Android 2.1! Questo è ciò che mi mancava quando ho impostato male l'obiettivo.

+3

Ha funzionato per me. Un trucco: è necessario cambiare target sia in AndroidManifest.xml AND in project.properties –

+1

Funziona anche per me !! Contrassegnalo come risposta amico: D – Piyey

+0

Grande. ha funzionato per me ... –

3

Quello che ha funzionato per me è quello di effettuare le seguenti operazioni:

  • Fare clic destro sul progetto android-support-v7-appcompat e selezionare Elimina (è sufficiente rimuovere dallo spazio di lavoro, non eliminare dal disco).

  • Fare clic con il tasto destro del mouse sul progetto e selezionare Proprietà -> Android, e rimuovere android-support-v7-appcompat dai riferimenti e fare clic su OK.

  • Pulire il progetto

  • Poi selezionare File -> Importa e reimportazione android-support-v7-appcompat.

  • Quindi tornare a Proprietà -> Android e aggiungere nuovamente il riferimento.

  • Pulire il progetto

1

Sono un po 'nuova per lo sviluppo di Android, ma ho trovato questa soluzione:

  1. Se volete la compatibilità, prima assicurarsi di creare il progetto con entrambi i MinimunRequiredSDK, TargetSDK e CompileWith impostati su API7: Android 2.1 (Eclair) nella finestra "Nuova applicazione Android" di Eclipse.

  2. Creare il progetto libreria di supporto Android-support-v7-appcompat, secondo la guida fornita da developers.android.com (http://developer.android.com/tools/support-library/setup.html#using-apis)

  3. Aggiungere la libreria di supporto al vostro progetto (Pulsante destro clic sul tuo progetto, proprietà, android, al frame della biblioteca). Si noti che il file R.java è sparito.

  4. Passare al file project.properties del progetto e modificare la proprietà denominata target in "Google Inc.:Google APIs: 14". NON modificare questo attributo nel file AndroidManifest.xml.

  5. Pulisci il tuo progetto. Gli errori sono andati.

  6. Esegui il tuo progetto.

  7. Se non si esegue l'app su un dispositivo reale, verrà sempre chiesto di selezionare un dispositivo compatibile. Seleziona uno che esegue Android 2.1 e divertiti.

OBS .: A causa di questa soluzione, il messaggio fastidioso "non trovati obiettivi compatibili" apparirà sempre se si sta lavorando con un dispositivo virtuale. Puoi rispondere NO e selezionare un dispositivo nella finestra Scelta dispositivo Android. Consigliatissimo di scegliere quello che esegue Android 2.1

4

Fare clic nel progetto, selezionare Proprietà, selezionare Andoid e fare lo stesso con la libreria per garantire che entrambi abbiano lo stesso Target di costruzione progetto. Non toccare nulla di manifest sdk, in quanto ciò causerà l'errore a reapear

1

Basta fare clic su Progetto > Android> Proprietà del progetto di correzione.

Ha funzionato su Eclipse Kepler e l'ultima versione di ADB!

+0

Le proprietà del progetto di correzione non funzionano mai per me – burseaner

0

è necessario aggiungere barattolo (supporto v7) nella cartella libs progetto v7 supporto nel progetto e aggiungere il supporto versione 7 come progetto di libreria al progetto

0

è necessario eliminare l'androide-supporto-v4.jar da librerie private Android perché è già in Android-support-v7-appcompat

Problemi correlati