Ich habe ein SDK für Android-Anwendungen entwickelt.Wir haben viele Clients mit diesem SDK in Anwendungen.Nun habe ich mein SDK.Ich bin auf der Suche nach einer Möglichkeit, dass diese Änderungen in dort Anwendung widerspiegeln können ohne Aktualisierung dort app auf Spielspeicher. Dringende Hilfe benötigt. Jede Hilfe wird geschätzt. Danke im Voraus.Rolling-up-Update von SDK OTA
7
A
Antwort
4
Nun können Sie dynamisch eine JAR-Datei von der SD-Karte mit DexLoader Klasse laden ... die Sie aktualisieren können, wann immer Sie Ihre Speicher want..on ... Code unten arbeitet ..
final String libPath = Environment.getExternalStorageDirectory() + "/test.jar";
final File tmpDir = getDir("dex", 0);
final DexClassLoader classloader = new DexClassLoader(libPath, tmpDir.getAbsolutePath(), null, this.getClass().getClassLoader());
final Class<Object> classToLoad = (Class<Object>) classloader.loadClass("com.test.android.MainActivity");
final Object myInstance = classToLoad.newInstance();
final Method doSomething = classToLoad.getMethod("doSomething");
doSomething.invoke(myInstance);
und in Ihrer Bibliothek Datei Code kann wie folgt mir
public class MainActivity {
public void doSomething() {
Log.e(MainActivity .class.getName(), "MainActivity : doSomething() called.");
}}
sagen, wenn Sie Sie Hilfe benötigen
1
gibt es keinen solchen Weg für Ihre Situation. Aber es gibt eine Sache, die Sie tun können, um es für das nächste Update zu aktivieren. Android kann kompilierten Code mit DexClassLoader dynamisch laden. Also kompilieren Sie eine neue DEX-Datei und erzwingen dann das Herunterladen und Verwenden des SDK.
// Internal storage where the DexClassLoader writes the optimized dex file to
final File optimizedDexOutputPath = getDir("outdex", Context.MODE_PRIVATE);
DexClassLoader cl = new DexClassLoader(dexInternalStoragePath.getAbsolutePath(),
optimizedDexOutputPath.getAbsolutePath(),
null,
getClassLoader());
Class libProviderClazz = null;
try {
// Load the library.
libProviderClazz =
cl.loadClass("com.example.dex.lib.LibraryProvider");
// Cast the return object to the library interface so that the
// caller can directly invoke methods in the interface.
// Alternatively, the caller can invoke methods through reflection,
// which is more verbose.
LibraryInterface lib = (LibraryInterface) libProviderClazz.newInstance();
lib.showAwesomeToast(this, "hello");
} catch (Exception e) { ... }
Verwandte Themen
- 1. iOS OTA funktioniert nicht
- 2. Installation von Android-App über OTA-Dienst
- 3. iOS OTA Build nicht herunterladen
- 4. WP7 Benutzerdefinierte Anwendungen OTA-Installation
- 5. HP ALM: Rest API vs OTA
- 6. Parameterwerte im ALM-Testplan mit OTA ändern
- 7. Ad-hoc-OTA-Verteilung installieren Fehler
- 8. Version von Java SDK in JavaFX SDK
- 9. Fotos von Facebook SDK
- 10. OTA Version 12.21 und ALM Version 11.52 Kompatibilitätsproblem
- 11. Wie installiere ich meine Anwendung OTA in iPhone Simulator
- 12. Absicht für Samsung Galaxy TAb Ein Software-Update (Android OTA)
- 13. OTA-Updates für Gerät Besitzer Android-Anwendung (Kiosk-Modus)
- 14. Wie erhalten Sie Fehler der Datei mit OTA?
- 15. Können iOS-Updates OTA ohne DEP erzwungen werden?
- 16. "Ich kann keine Verbindung zum Server herstellen" während der Installation von ipa über OTA
- 17. OTA AdHoc Verteilung - Wie man eine IPA von der Kommandozeile aus erstellt?
- 18. IOS SDK - Screenshot von TableView?
- 19. UIImage von CALayer - iPhone SDK
- 20. Vorteil von DocuSign iOS sdk
- 21. HDInsight SDK [Microsoft .NET SDK für Hadoop]
- 22. iPhone SDK 3.0 Targetting 2.2.1 SDK
- 23. Base SDK 3.0 zu SDK 4.0
- 24. Der Aufruf von openURL zur Installation von App OTA führt zur Installation einer im Cache gespeicherten App.
- 25. Xcode iPhone - Base SDK, Active SDK Unterschied?
- 26. Android SDK Fehler beim Laden des SDK:
- 27. iPhone 3.0 SDK vs iPhone 2.0 SDK
- 28. S3 SDK Brechen von meiner Seite
- 29. iPhone SDK: Deaktivieren von clipping für UIScrollView
- 30. Unterschied von 'Drive SDK' und 'Drive API'
Can Plädoyer Ich erkläre es ein bisschen mehr. Ich meine, wo und wie dieser Code implementiert wird und wie der Fluss abläuft. funktioniert das über Luft? Vielen Dank im Voraus. – Scorpio
@HarrySharma, https://www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=android%20dexclassloader%20example&es_th=1 –