Ho il mio file apk della libreria personalizzata (ad esempio lib.apk) & voglio renderlo disponibile alle altre applicazioni . Come fornire la libreria uses nel file manifest.xml di android in altre app in modo da utilizzare la mia libreria personalizzata.Come utilizzare il file apk della libreria personalizzata in altre applicazioni
risposta
L'elemento <uses-library>
è per i componenti aggiuntivi forniti come estensioni del firmware. AFAIK, non sarà utilizzabile per il tuo scenario.
Molto probabilmente, è necessario implementare un servizio che espone un'API tramite AIDL o utilizza un set di azioni documentate Intent
per scambiare dati con altre applicazioni o espone uno ContentProvider
.
In caso contrario, impacchettare il codice come JAR, non come APK. Potete vedere molti esempi di questo in my github repositories (tutti i cwac- seguono questo modello).
Provo ad usare una libreria jar in eclissi (ho aggiunto una libreria jar esterna nelle opzioni del percorso di costruzione Java del mio progetto). L'applicazione si compila ma ho un'eccezione "Impossibile trovare la classe ..." in fase di esecuzione.
In realtà è possibile creare un progetto che si collega a un altro progetto.
devi fare due cose in Eclipse:
- add usa-library = nome del pacchetto nella manifest.xml
- aperti proprietà del progetto -> Java Build Path -> Progetti e aggiungere il progetto di la libreria usata
Ma non sono riuscito a farlo funzionare. L'SDK carica correcly entrambi i pacchetti, ma ottengo un errore di collegamento
WARN/dalvikvm(444): Link of class 'Lme/guillaumin/android/osmtracker/activity/DisplayTrackMap;' failed
ERROR/dalvikvm(444): Could not find class 'me.guillaumin.android.osmtracker.activity.DisplayTrackMap', referenced from method me.guillaumin.android.osmtracker.activity.TrackLogger.onOptionsItemSelected
WARN/dalvikvm(444): VFY: unable to resolve const-class 154 (Lme/guillaumin/android/osmtracker/activity/DisplayTrackMap;) in Lme/guillaumin/android/osmtracker/activity/TrackLogger;
La VM non può caricare la classe nella mia app che collega in app librerie.
L'"applicazione" lib.apk dovrebbe pubblicare intenti utilizzando Intent-Filters
nel file AndroidManifest.xml.
L'attività che richiede di utilizzare l'attività all'interno del lib.apk, ha solo bisogno di avviare un intento come di seguito:
Intent i = new Intent();
i.setClass(this, libAPKActivity.class);
Durante la conversione da una libreria vaso per e biblioteca apk assicurarsi che il riferimento alla il vaso viene rimosso da "Percorso build Java" -> "Progetti" e la libreria viene aggiunta a "Android" -> "Libreria".
Grazie, questo ha funzionato per il mio caso in cui l'applicazione si collegava alla mia libreria personalizzata ma quando ho installato l'APK sul dispositivo ho ricevuto un avviso che diceva che la libreria "APK" non è stata trovata. Rimuovendolo dal percorso di costruzione Java ma conservandolo come riferimento di libreria risolto. – fejd
@fejd Esattamente la mia esperienza come descritto [qui] (http://stackoverflow.com/a/20320105/2930186) – ripopenid
- 1. Utilizzare le chiavi ssh per l'autenticazione in altre applicazioni?
- 2. Un file batch per minimizzare altre applicazioni
- 3. come sostituire il file XML in APK?
- 4. Come installare più applicazioni Android (dai file apk) nel dispositivo?
- 5. Escludi file della mia versione .apk
- 6. Come zipalign il file apk in Windows
- 7. Posso utilizzare il codice della libreria GUI di google chrome per le proprie applicazioni desktop ?:
- 8. Come verificare il permesso di licenza Android per altre applicazioni
- 9. Come si trova il nome file di una libreria tramite il nome della libreria?
- 10. Utilizzo di SwingEventMonitor per monitorare altre applicazioni?
- 11. di file .apk Uno che consente di installare due applicazioni
- 12. Utilizzare la libreria framework personalizzata (android.jar) in Android Studio
- 13. Come aprire file apk
- 14. Chiudere altre applicazioni nel cacao
- 15. Come installare il file .apk nell'emulatore?
- 16. Come utilizzare MIN_VERSION_ della cabal e altre macro con ghci?
- 17. Come creare un file APK in Eclipse?
- 18. Come utilizzare moduli in applicazioni Rails
- 19. come ottenere il file sorgente dal file apk
- 20. Esegui file APK in Eclipse
- 21. utilizzare lo stesso file statici in più applicazioni in Django
- 22. come utilizzare leakcanary, come aggiungere leakcanary come jar per creare un apk con file .mk
- 23. Test delle applicazioni Web d3 (e altre basate su SVG)
- 24. Come installare .apk file su dispositivo Android
- 25. cmake - find_library - posizione libreria personalizzata
- 26. Issue building apk file
- 27. Come utilizzare Ant per rinominare automaticamente il file apk di output?
- 28. Qual è il nome della libreria necessario per utilizzare JObject?
- 29. Come si installa una libreria personalizzata in Android Studio?
- 30. Come viene firmato un file .apk
Perché hai bisogno di un APK per questo? Basta tirare un barattolo e stai bene. – Matthias
Ho lo stesso problema. Ho un software modulare che funzionerà come attività multiple e non ho voluto ripetere le interfacce e il codice comune in tutti i moduli. Questo sarebbe il caso se avessi optato per usare una jar lib. – Spidey
È difficile includere le risorse nei file jar, che gestisce un file lib.apk. – phreed