Ich möchte einige Java-Dateien teilen, die unter verschiedenen Anwendungen gemeinsam sein können. Ist es möglich, gemeinsame Java-Dateien über verschiedene Android-Anwendungen zu teilen, ohne die Anwendungs-GRADEL-Datei zu ändern (vom Apply-Plugin: "com.android.application", um das Plug-in "com.android.library" anzuwenden)?Gemeinsame Java-Dateien unter verschiedenen Android-Anwendungen teilen
-3
A
Antwort
0
Ja, Sie können. Zuerst sollten Sie Ihre Java-Klasse in JAR-Datei kompilieren. Dann Sie diese jar DexClassLoader mit laden können, Beispiel:
CommonInterface loadCommonObject(String pathToJarFile) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
DexClassLoader loader = new DexClassLoader(pathToJarFile,
getDir("dex", 0).getAbsolutePath(), null, getClass().getClassLoader());
Class clazz = loader.loadClass(CommonInterface.CLASS_NAME);
return (CommonInterface) clazz.newInstance();
}
interface CommonInterface {
String CLASS_NAME = "com.your.app.ClassName";
void doSomething();
}
Und jetzt können Sie diesen Code verwenden, um Ihre Java-Datei zu laden und auszuführen:
CommonInterface commonObject = loadCommonObject("/path/to/your/file.jar");
commonObject.doSomething();
Hinweis, Ihre JAR-Datei in DEX-Format shuild . Um Plan JAR-Datei in DEX-Format zu konvertieren, können Sie das DX-Dienstprogramm von Adnroid SDK verwenden.
Weitere Informationen in dieser Frage: Is it possible to dynamically load a library at runtime from an Android application?
Verwandte Themen
- 1. Anlegesteg 9.4 Sitzungen unter verschiedenen Kontexten teilen
- 2. Wie Arbeiter unter zwei verschiedenen Anwendungen auf Heroku teilen?
- 3. Ist es sicher, Layout-Instanz unter verschiedenen Steuerelementen zu teilen
- 4. Mastransit + RabbitMQ. Eine Warteschlange unter zwei verschiedenen Nachrichtentypen teilen
- 5. Bruchkette in verschiedenen Teilen
- 6. Gemeinsame Springboot-Integrationstests mit jar teilen?
- 7. Wie teilen Sie gemeinsame 'Buildscript `Gradle Code?
- 8. Teilen einer Ansicht unter Microservices
- 9. Spring: Application Context zwischen verschiedenen Servlets teilen
- 10. C++ - Daten unter Threads teilen
- 11. Können mehrere WCF-Dienste eine gemeinsame BaseAddress teilen?
- 12. Gemeinsame Zeilen in zwei verschiedenen Datenrahmen löschen
- 13. Azure-Funktionen - Gemeinsame Objekte zwischen verschiedenen Aufrufen
- 14. Android bekommen gemeinsame Vorlieben aus verschiedenen Dateien
- 15. Gemeinsame Schnittstelle mit verschiedenen Rückgabetypen [Java]
- 16. PSQL Finde gemeinsame Werte in verschiedenen Gruppen
- 17. Wie kann ich eine gemeinsame Setup-Vorrichtung für Spezifikationsdateien teilen
- 18. Gemeinsame Nutzung einer Variable zwischen mehreren verschiedenen Threads
- 19. Cordova Windows teilen App zwischen verschiedenen Geräten
- 20. Formulardaten zwischen verschiedenen UI-Zuständen teilen
- 21. Gemeinsame Schlüsselwertspeicherung zwischen mehreren nicht funktionierenden Apps teilen
- 22. teilen Login zwischen zwei verschiedenen Websites
- 23. MediaWiki CSS unter Instanzen teilen
- 24. Datenstruktur unter mehreren Programmen teilen
- 25. Twitter Teilen unter iOS 11
- 26. Eine Verbindung unter Threads teilen
- 27. Daten teilen unter JPA Entities
- 28. Eigenschaften unter mehreren Klassen teilen
- 29. Text unter mehreren Bedingungen teilen
- 30. Electron: Gemeinsame Nutzung von Dateien zwischen verschiedenen O.S Pakete