Domanda

Sono riuscito a ristrutturare la mia applicazione abbastanza bene in modo che, tranne alcuni metodi in una classe di attività derivata, tutto è in un progetto di biblioteca.

Funziona magnificamente, tranne che Eclipse's Console (non Logcat!) Emette il seguente messaggio di errore:

[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!

Ho pulito entrambi i progetti (biblioteca e Applicazione), riavviato Eclipse, ricostruito i progetti, ma questo strano messaggio di errore persiste.

Cosa significa questo messaggio di errore? (Soprattutto alla luce che tutto sembra funzionare bene)

Come posso sbarazzarmi?

AGGIORNARE: Ho provato a rimuovere il progetto, quindi reimportarlo per il suggerimento di seguito. Non ha aiutato. Ho quindi trovato questo thread Questo mi ha aiutato a capire che avevo <uses-library> Nell'applicazione AndroidManifest.xml si riferisce a MyLibrary. L'ho cancellato, pulito il progetto e ricostruito. Il problema persiste.

Ora sospetto che questo sia "vero problema", ad esempio errata configurazione di alcuni percorsi o qualcos'altro da parte mia. Cosa potrebbe essere?

È stato utile?

Soluzione

Ho trovato la fonte del problema!

Si scopre che "Con la nuova funzione della libreria, non si specifica i progetti Android su cui dipendi nella sezione percorso di build Java delle proprietà. Lo fai nella sezione Android delle proprietà".

Quindi tutto quello che dovevo fare è andare il progetto di applicazione Properties, colpire il Projects Scheda, selezionare il mio progetto di libreria e fare clic su Remove pulsante. Questo è tutto. Niente più problema.

In eclipse java ee selezionare le proprietà del progetto, quindi selezionare Project References, Quindi controlla FacebookSDK (vedi Screen Capture) enter image description here

Grazie a Lance Nanek!

Altri suggerimenti

È interessante ... non ho fatto tutto ciò che la risposta specifica ..

Ho un progetto Android separato chiamato "ConnectionHandler"che si collega a un servizio web per recuperare informazioni. Questo progetto non contiene classi di attività. (Se lo facesse, richiederesti modifiche al file AndroidManifest nella tua applicazione principale, nonché seguendo le istruzioni di seguito).

Per usare il mio separato Progetto ConnectionHandler Come biblioteca dovevo fare quanto segue:

  1. Nell'applicazione principale> Seleziona Proprietà del progetto> Vai al percorso di build Java> Aggiungi barattoli> Seleziona la cartella Bin di ConnectionHandler> Scegli ConnectionHandler.jar
  2. Nel progetto ConnectionHandler> Seleziona Proprietà del progetto> Android> Controlla islibrary
  3. In MainApplication> Seleziona Proprietà del progetto> Vai su Android> Aggiungi riferimento a ConnectionHandler nella sezione Libreria.

Questo funziona per me, e sono in grado di connettermi al mio servizio web, anche se non ho file di origine per farlo nella mia applicazione principale. Tutto è contenuto nel mio barattolo di connessione a cui si fa riferimento ..

Spero che questo aiuti qualcuno ...

Oggi ho iniziato a ricevere questo messaggio di errore sulla vista della console di Eclipse, ma si scopre che questo non era il problema. La mia applicazione sarebbe stata costruita e installata sul mio dispositivo e ha persino funzionato per una frazione di secondo (fino a quando non si è schiantato). Questo è l'aspetto della mia console in Eclipse:

[2013-06-03 09:42:25 - my-android] Android Launch!
[2013-06-03 09:42:25 - my-android] adb is running normally.
[2013-06-03 09:42:25 - my-android] Performing com.my.android.activity.MainActivity activity launch
[2013-06-03 09:42:25 - my-android] Uploading my-android.apk onto device '650rfs2e'
[2013-06-03 09:42:31 - my-android] Installing my-android.apk...
[2013-06-03 09:42:35 - my-android] Success!
[2013-06-03 09:42:36 - my-other-android] Could not find my-other-android.apk!
[2013-06-03 09:42:36 - android-SherlockFragment] Could not find android-SherlockFragment.apk!
[2013-06-03 09:42:36 - my-android] Starting activity com.my.android.activity.MainActivity on device 650rfs2e
[2013-06-03 09:42:36 - my-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.my.android/.activity.MainActivity }

Ma dopo una stretta ispezione del mio logcat, c'era una sciocca eccezione lanciata da un frammento che stavo cercando di inizializzare. Una volta che ho riparato il mio frammento (che stava sollevando un NPE), tutto ha funzionato bene, anche attraverso la mia console mi dice ancora che non riesco a trovare quegli APK della biblioteca.

Hai provato a rimuovere il progetto senza eliminare il harddrive e reimportare il progetto. Mi è sembrato funzionare per me quando avevo questo problema.

Usando le preferenze di Eclipse puoi finire con le librette che vengono aggiunte dappertutto. Avevo un Lib in /Libs di riferimento e le cartelle di biblioteche referenziate. Ho dovuto rimuoverle o eliminarli da queste posizioni e inserirli con dipendenze Android (usando le preferenze -> Android e navigare sotto la casella di controllo "IS Library".)

Il layout corretto per il mio progetto:http://www.pasteall.org/pic/show.php?id=34513

Per me, il motivo per cui ciò stava accadendo era che il progetto della biblioteca e il progetto principale avevano lo stesso pacchetto. Il modo più semplice per cambiare il pacchetto è di right click on the library project > Android Tools > Rename Application Package.

La soluzione a questo problema per me era rimuovere le voci errate dal file manifest dei progetti della libreria.

L'incidente si verificherebbe in fase di esecuzione solo quando ha colpito il primo utilizzo del mio progetto di biblioteca. Una volta modificato la proprietà Nome applicazione per riflettere la classe di applicazione corretta per il progetto che Usato Il progetto della biblioteca, poi ha funzionato

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top