2013-08-25 11 views
13

Ho un obiettivo di progetto per il livello 10 dell'API e voglio implementare la nuova libreria di supporto ActionBar. Dopo seguire tutte le instrutions del Support Library Setup, quando si aggiunge la biblioteca per il mio progetto mi sono imbattuto con decine di messaggi di errore come questo:Come risolvere l'errore "Nessuna risorsa trovata che corrisponde al nome specificato" quando si aggiunge la libreria v7 AppCompat in Eclipse?

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

Ok, lo so che sono molte risposte a questa domanda, ma, dopo aver provato tutto ciò che è più ovvio, non riuscivo ancora a risolvere l'errore.
Ho continuato a cercare e ho trovato la causa, che non è così ovvia, almeno per i neofiti come me.
Il mio intento è fornire una risposta completa per aiutare tutti coloro che sono come me e non padroneggiare tutti i segreti dello sviluppo Android.

+0

Ottengo errori come questo a meno che il mio progetto e la libreria di supporto non mirino alla * ultima * versione di Android. Preferisco scegliere come target una versione inferiore come quella che stai facendo – Chicowitz

risposta

20

Questo è quello che devi fare per utilizzare correttamente la libreria di supporto ActionBar.

Seguire le istruzioni in Support Library Setup - Aggiunta di librerie con risorse.
Una cosa che può portare qualche dubbio è aggiungere la libreria al progetto di aplicazione:

(1) Nell'Esplora progetti, fare clic con il pulsante destro del mouse sul progetto e selezionare Proprietà.
(2) Nel riquadro sinistro selezionare Android.
(3) Al esimo inferiore del riquadro destro del mouse Aggiungi
(4) Selezionate il progetto della libreria Android-support-v7-appcompat e fare clic su OK . Fare clic su OK per chiudere la finestra delle proprietà.

Se non si ottiene nessuno degli errori che ho citato, è tutto fatto.

Tuttavia se siete come me, non avete seguito il consiglio del team di Android che suggerisce di compilare sempre la vostra fonte utilizzando l'ultimo SDK, si ottiene l'errore.

L'errore si verifica perché il mio target di progetto è Android 2.3.3 e deve essere disponibile almeno per 3.0.
Non mi è stato subito chiaro perché sto sviluppando specificamente per Android 2.3.3 e sto usando le librerie di supporto.

OK, spero che questo aiuti.

+0

Cura di spiegare come farlo senza eclissi? – weberc2

+0

Cosa intendi? – ramaral

+0

Intendo tramite linea di comando. – weberc2

4

È necessario aggiungere la libreria di supporto al progetto. Per aggiungere:

clic destro del mouse sul progetto, poi vai a:

proprietà> Java Build Path> Biblioteche

qui Aggiungi JAR esterni ...

aggiungere android-supporto-v7 -appcompat.jar (path/to/sdk/extra \ Android \ supporto \ v7 \ appcompat \ libs)

inoltre si hanno anche per copiare quel vaso di librerie cartella yo ur progetto, se non è lì automaticamente.

e si dovrebbe utilizzare il tema @style/Theme.AppCompat per la vostra domanda di sostegno-v7 da lavorando

+1

Che non funziona se Target di costruzione progetto è inferiore a Android 3.0. La soluzione è Project Build Target per Android 3.0 o successiva e non è necessario aggiungere la libreria al percorso di build Java – ramaral

+0

@ramaral, penso che la libreria support-v7 supporti API 7 e successive. È possibile fare riferimento a [Libreria supporto] (http://developer.android.com/tools/support-library/index.html) – djhs16

+1

16, Sì, ho letto questo ed è perché questo che mi ci è voluto così tanto tempo per trovare che io potrebbe solo eliminare l'errore quando il target della mia applicazione ad Android 3.0 – ramaral

0

anche mantenere una cosa in mente si dovrebbe cambiare la versione SDK min a 11 se si vuole sostenere ("android: windowActionBar") proprietà nel tuo progetto.

Problemi correlati