27

Qualcun altro ha problemi durante l'importazione di un progetto con ActionBarSherlock? Ho un totale di 100 errori e 17 avvisi. Questo ha funzionato perfettamente in Eclipse. Ho seguito i passaggi per creare un Gradle build file. Non ci sono stati errori di importazione fino a quando non ho provato a creare il progetto.Problemi di importazione del progetto in Android Studio in merito a ActionBarSherlock

Ho anche provato a scaricare di nuovo l'ABS e a sostituirlo nel mio progetto.

Sono stati riscontrati problemi con ABS e IntelliJ? (Che ovviamente Android Studio è ora basato)

Ecco alcuni errori che sto vedendo:

 java: ... 
     Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java:4: cannot find symbol 
     symbol : class Fragment 
     location: package android.support.v4.app 

     java: ... Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java:4: cannot find symbol 
     symbol : class ListFragment 
     location: package android.support.v4.app 

     java: ... 
     Workspace/ActionBarSherlock/src/com/actionbarsherlock/widget/SuggestionsAdapter.java:33: 
     package android.support.v4.widget does not exist 

Qualsiasi aiuto molto apprezzato

Edit: Sembra non ci sono problemi che utilizzano standard IntelliJ IDEA. Molte guide online per configurarlo con ABS. Inoltre come detto Jake, lui è stato effettivamente sviluppando la cosa in IntelliJ

Ecco una guida ad esempio: http://android-wtf.com/2012/09/how-to-configure-actionbarsherlock-with-intellij-idea/

Tuttavia, sono ancora incerto perché non il suo lavoro in Android Studio

Edit2: soluzione nella risposta qui sotto. In breve: (Ho scaricato l'ultima versione abs, estratta la vecchia versione di abs dal mio progetto, quindi file > import module... per importare la directory actionbarsherlock nel mio progetto esistente. Nb, nel mio caso specifico ho avuto un problema con l'errore di compilazione junit e necessario elimina \ test \ junit \)

+1

ho sviluppato ABS in IntelliJ per due anni e lo ha utilizzato in molti progetti con Maven in IntelliJ . Sembra che manchi la libreria di supporto. –

+0

@JakeWharton Grazie Jake, Sì e infatti dopo aver postato questo ho trovato delle guide rapide via google per far funzionare il tuo ABS con IntelliJ standard senza problemi. Sto ancora esaminando questo per Android Studio. Penso che abbia qualcosa a che fare con File> Struttura del progetto ... Moduli, ecc. – wired00

+0

Ok, cool ho funzionato Ho dovuto ri-scaricare il pacchetto ActionBarSherlock. Elimina completamente quello vecchio dal mio pacchetto precedente. quindi File> Importa modulo ... e importa di nuovo sovrascrivendo qualsiasi file di modulo esistente che aveva – wired00

risposta

26

Sembra che ci siano molti problemi generali sull'importazione di moduli in Android Studio, non solo ActionBarSherlock, questa risposta potrebbe anche indirizzarli. (Tuttavia gli ultimi passaggi relativi a junit sono specifici per abs)

I passaggi seguenti mi hanno permesso di ottenere ActionBarSherlock senza problemi.

1) Scarica ultima ABS qui: http://actionbarsherlock.com/

2) estratto ABS si dovrebbe avere una directory in là chiamato "ActionBarSherlock". Copialo nel tuo spazio di lavoro di Android Studio. e rinominare a ActionBarSherlock (changed casing) -> Ora ho i miei Android Studio Projects sotto \*documents*\Android Workspace\ Al contrario di \Eclipse Workspace\

Così si dovrebbe ora avere qualcosa di simile:

\*documents*\Android Workspace\ActionBarSherlock\

Insieme con il progetto principale forse:

\*documents*\Android Workspace\TestProject\

3) Studio Aperto Android carico voi r TestProject quindi vai a File> Import Module...Ora vai a ActionBarSherlock sotto \*documents*\Android Workspace\ActionBarSherlock\ Fai clic su OK e avanti fino alla fine. Ti verrà chiesto se si desidera impostare una dipendenza al nuovo modulo (o almeno la mia ha fatto) fare clic su OK

4) a questo punto quando si compila mi è stato sempre errori nelle \ActionBarSherlock\test\ lamentano Junit. Ho semplicemente cancellato la directory \Test\ dal mio modulo ABS sotto la vista del progetto. Right click \test\ > Delete.... Si potrebbe anche includere il file jar JUnit, ma non credo che il suo necessario

5) si dovrebbe ora essere in grado di compilare senza errori

Speriamo che aiuta qualcuno.

In sostanza, però, ho bisogno di ri-scaricare un completamente nuovo ABS, cancellare ABS mio vecchio progetto (che era probabilmente abbastanza vecchio) allora modulo di importazione ...

+2

Sono confuso perché vedo due moduli per il mio progetto, "ABSTest" e "ABSTest-ABSTest" e quale uso in questo caso? –

+0

E un'altra domanda che continuo a vedere durante il processo di importazione del modulo con AndroidStudio è: A dovrei creare il modulo da fonti esistenti? O devo usare l'opzione Maven? –

+2

Non ho 'Import Module' nel menu' File' (su Android Studio 0.2.8) –

2

Ho incontrato problema simile, ma a causa di un separato problema, non riesco a scaricare l'ultimo ActionBarShelock per risolvere il problema come descritto da wired00.

Se avete bisogno di attaccare con la versione ABS esistente, vedere se questo funziona per voi:

  1. Fare clic su File-> Struttura del progetto.
  2. Si dovrebbe vedere 'ActionBarSherlock' nell'elenco dei moduli, fare clic su di esso.
  3. Fare clic sulla scheda "Dipendenze", molto probabilmente non si dispone di libreria di supporto Android v4.
  4. Fare clic sul pulsante '+' in basso e aggiungere android-support-v4 come dipendenza. Se hai importato il progetto da Eclipse, Android Studio potrebbe aver già importato il file JAR di supporto come libreria e puoi utilizzarlo direttamente. In caso contrario, potrebbe essere necessario utilizzare l'opzione 'jar o directory' e selezionare il file jar di supporto da una directory.
  5. Se il modulo principale o altri moduli utilizzano anche la libreria di supporto, potrebbe essere necessario modificare l'impostazione 'Compila' su 'Fornito' se si ottengono errori 'DEX già aggiunti'.
  6. Dovresti essere in grado di compilare il tuo mobule ABS ora. Se ottieni errori di compilazione "hamcrest" o "junit", puoi eliminare la cartella "test" nel tuo progetto ABS come menzionato.
6

Questo funziona per me ..

prima, seguita una risposta fornita da wired00

e ho fatto alcuni cambiamenti da qui.

Ho creato un file build.gradle nel progetto libreria ActionBarSherlock generando file di build Gradle da Eclipse.

modifica build.gradle (per ActioBarSherlock progetto di biblioteca), aggiungere una riga in dipendenze {} compile files('libs/android-support-v4.jar')

modifica build.gradle (per il mio progetto), cancellare e aggiungere compile files('libs/android-support-v4.jar')compile project(':abs') abs dovrebbe essere ActionBarSherlock biblioteca nome del progetto .

modificare settings.gradle, aggiungere ,':abs'

eliminare android-supporto-v4.file jar tranne quello nel progetto della libreria ActionBarSherlock

0

Ho anche affrontato lo stesso problema. Ho anche seguire i passaggi simili a importare la libreria ABS. Ma stavo ancora ottenendo lo stesso errore. Finalmente ho risolto questo problema. Soluzione: Dopo aver seguito i passi simili per l'importazione ABS Biblioteca,

  1. ricompilare il progetto (Tasto destro del mouse sul progetto e fare clic su 'Modulo Compile 'YourApp'')
  2. ricompilare il Progetto Biblioteche (Fare clic destro sul progetto di libreria e fare clic su 'Compile Module 'libreria'')

Questo è tutto ..

+0

dopo aver fatto questo anche ... ha iniziato a dare lo stesso errore "non riesce a trovare la classe simbolo FragmentActivity" ... error count 100 e warning 17 ..anche una soluzione? – CoDe

Problemi correlati