So laden Sie eine JAR-Datei während der Laufzeit aus dem Ordner "Assets" der Android-Anwendung. Laden von Assets Ordner ist meine Anforderung. Gibt es einen Weg dies zu tun? Bitte helfen ..So laden Sie ein JAR aus dem Ordner "Assets" zur Laufzeit
Antwort
Ich habe die Antwort. Ich füge diese Antwort hier. Weil dies für einige andere hilfreich sein kann.
Es gibt Schritte, um dies zu erreichen.
Sie müssen eine Kopie Ihrer JAR-Datei in den privaten internen Speicher Ihrer Anwendung kopieren.
Mit dem dx Werkzeug innerhalb der Android-Ordner, haben Sie eine classes.dex Datei mit der JAR-Datei zugeordnet zu generieren. Das dx-Tool wird an der Stelle seine /android-sdks/build-tools/19.0.1 (diese Datei von der Dalvik VM benötigt wird, kann einfach jar nicht von der Dalvik VM gelesen werden))
Verwendung Der aapt Werkzeugbefehl, der sich ebenfalls am selben Ort befindet, müssen Sie classes.dex zur JAR-Datei hinzufügen.
Diese JAR-Datei konnte dynamisch mit DexClassLoader geladen werden.
Wenn Sie ein JAR von einer eigenen Bibliothek erstellen, müssen Sie diese Schritte (1-4) jedes Mal durchführen, wenn sich der Quellcode Ihrer Bibliothek ändert. Sie können diese Schritte also automatisieren, indem Sie ein Shell-Skript (in Mac/Linux/Ubuntu) oder Batch-Skripte (in Windows) erstellen. Sie können diese link referenzieren, um zu verstehen, wie man Shell-Skripte schreibt.
Hinweis: Eine Situation, zur Durchführung dieses Verfahrens ist, wenn es unmöglich ist, die JAR-Dateien direkt mit dem Build-Pfad des Kern Projekt hinzuzufügen und dynamisch zur Laufzeit geladen werden müssen. In normalen Fällen könnten die JAR-Dateien zum Build-Pfad hinzugefügt werden.
Bitte überprüfen Sie diesen Link für den detaillierten Code und die Implementierung.
hast du es getestet? es wird nicht funktionieren, da Klassen in Jar nicht im Dalvik-Format sind ... und Ihre Links zeigen nur 1) wie man es in normalem Java macht 2) Wie man eine Klasse lädt, die bereits Teil des Frameworks ist ... – Selvin
das funktioniert. und das ist was ich suche. Die JAR-Dateien sind in Assets verfügbar, bevor sie in APK erstellt werden. – AndEngine
- 1. So laden Sie eine JAR-Datei zur Laufzeit
- 2. Laden Sie einen animierten Cursor zur Laufzeit aus dem Speicher
- 3. Laden und entladen Sie verschiedene Version von jar zur Laufzeit
- 4. Ein laufendes jar zur Laufzeit austauschen
- 5. So laden Sie ein bestimmtes Bild aus Assets mit Swift
- 6. Widget-Assets Pfad zur Laufzeit ändern
- 7. Wie lädt man Klassen zur Laufzeit aus einem Ordner oder JAR?
- 8. So kopieren Sie Dateien aus dem gerade laufenden Jar
- 9. Laden Sie ein Byte [] in ein Bild zur Laufzeit
- 10. So lesen Sie Dateien aus dem Ordner
- 11. Laden Sie zwei Szenen zur Laufzeit
- 12. ASP.Net WebApi: So laden Sie zusätzliche Controller zur Laufzeit
- 13. So verwenden Sie direkt JAR-Datei aus Hauptresourcen Ordner Java
- 14. Laden von Jars zur Laufzeit
- 15. Laden Sie eine JSON-Datei zur Laufzeit
- 16. Wie können wir eine Datei aus dem Asset-Ordner zur Laufzeit in Android entfernen?
- 17. .Net laden Referenz zur Laufzeit
- 18. Öffnen einer Datei aus dem Ordner "Assets" in Android
- 19. Animation aus Assets Unity laden
- 20. So verwalten Sie mehrere pageIndicator zur Laufzeit
- 21. So ändern Sie die Ansicht zur Laufzeit
- 22. Laden Freemarker Vorlagen Ordner in .jar
- 23. iPhone dev: Laden Sie eine Datei aus dem Ressourcen-Ordner
- 24. Gradle: Datei aus Android-Assets-Ordner ausschließen
- 25. Kann ich mit dem Webpack eine Ressource zur Laufzeit laden?
- 26. So stellen Sie die Sprache des iPhone zur Laufzeit ein
- 27. So erstellen Sie multi_array :: index_gen zur Laufzeit
- 28. So ändern Sie die Dateierweiterung zur Laufzeit
- 29. C++ statische Umwandlung mit .so Laden zur Laufzeit
- 30. Webview Laden von HTML aus dem Verzeichnis "Assets"
Haben Sie bedeuten, dass Sie eine JAR-Datei geladen werden soll, die nicht bei der Kompilierung verbunden war, wenn Sie die apk gebaut? –
JAR-Dateien sind während der Kompilierung auf Assets verfügbar. Aber ich möchte es aus Asset-Ordner während der Laufzeit je nach Bedarf laden. Nicht alle Gläser brauchten alle Zeit. Ich möchte einen Mechanismus wie das Hinzufügen von Gläsern zur Anwendung wie das Hinzufügen verschiedener Plugins implementieren – AndEngine
Nicht möglich, Android mit dalvik nicht normal jvm ... Bitte nächstes Mal google um andere Option zu finden bin ziemlich sicher, dass war ein Artikel auf Android-Entwickler Blog wie zu Verwenden Sie dynamisches binäres Laden – Selvin