Eingebettetes Chromium oder Webkit in der Android-App
Für unsere Android app, würden wir gerne integrieren unsere eigenen browser/render-engine. Der wahrscheinlichste Kandidat HIERFÜR ist Webkit/Chrom. Wir sind auf der Suche nach etwas ähnliches WebViewim wesentlichen aber durch einen gesicherten browser (version), den wir kontrollieren.
Hintergrund
Wesentliche Teile unserer app aus web-Seite Fragmente eingebettet in die Ansicht (serviert von der app selbst). Wir versuchen, so transparent wie möglich (aus einer visual - /user experience-Sicht). Bisher haben wir WebView für dies und das funktioniert zum größten Teil. Außer, wenn es nicht funktioniert.
Einige Handy-Anbieter haben leider beschlossen, die Anpassung des standard-Android-browser hier und da. In einigen Fällen bricht unsere app oder macht die Tatsache, die wir einbetten einer web-Seite mehr bemerkbar.
Unsere Idee
Würden wir gerne eine Komponente ähnlich WebView aber wo wir kontrollieren, was version von Webkit/Chromium (oder eine andere rendering-engine) verwendet wird. Es wäre nicht unbedingt die neueste und beste version. Es ist wichtiger, dass wir unsere app zu arbeiten konsequent über so viele Android-Geräte wie möglich.
So weit
Unserer Forschung bisher nicht aufgetaucht, etwas sinnvolles. Wir haben gefunden, drei tote versucht, den port von Webkit zu NDK (die Nackte Webkit für Android-port verwendet die Funktionalität, die nicht in der DDR, und somit nicht auf die app-Entwickler):
- Webkit Android-port von der Firma 100 (keine updates seit über zwei Jahren)
- mogo-browser (Ihre Letzte revision wurde zum löschen aller source-code)
- NDK Webkit (offiziell aufgegeben durch den Autor)
Blick auf StackOverflow, haben wir auch eine Reihe von ähnlichen Fragen, von denen die meisten gelöst werden, indem Sie auf WebView (die wir ohnehin schon tun, und es ist nicht gut genug)
- Webkit-Komponente für Android
- Einbetten basic-WebKit - + - V8 in meiner app
- Die Einbettung einer neueren version von WebKit mit Android-app
Momentan untersuchen wir, ob Chrom für Android (oder Teile davon) kann sich in eine Bibliothek, die unsere app nutzen könnte. Hat jemand dies getan?
Update
Nach einem Blick auf die chromeview Projekt auf GitHub (akzeptierte Antwort), haben wir beschlossen, dass wir lieber warten, bis Google release ein Chrome-basierten WebView auf zukünftigen Android-Geräten. Die Chrom-rendering-engine stellt sich heraus, ziemlich groß (~40MB), die lassen nicht viel Platz für die eigentliche app 🙁
InformationsquelleAutor der Frage Christian Klauser | 2013-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
pwnall/chromeview · GitHub
https://github.com/pwnall/chromeview
ChormeView funktioniert wie die Android WebView, sondern wird unterstützt durch die neueste Chromium-code.
InformationsquelleAutor der Antwort Satoshi Deguchi
Sollten Sie alle check-out-das Zebrastreifen-Projekt. Von Intel gesponsert, und in der aktiven Entwicklung. Ziehen Sie den Chromium-Quellen und Versprechen, alle neuen Chrom-features, die in Zebrastreifen innerhalb von 6 Wochen.
Zebrastreifen ist eine web-runtime-für ambitionierte HTML5-Anwendungen. Es bietet alle Funktionen eines modernen Browsers, kombiniert mit der Tiefe der integration der Geräte und eine API für das hinzufügen von native extensions. Es ist besonders gut geeignet für mobile Geräte.
Zebrastreifen unterstützt Android 4.0 und höher, ARM-und Intel-Architekturen.
Innerhalb von einer Stunde zu finden, dieses Projekt, ich hatte meine Cordova - /Phonegap-app läuft auf einem Android-Handy mit Zebrastreifen. Ich bin froh, dass ich nicht die Lautstärke meiner Javascript-code zu respektieren, die Mängel der (pre-4.4) android.webkit.WebView.
https://crosswalk-project.org
InformationsquelleAutor der Antwort flo von der uni
Ohne WebKit gibt es ein GeckoView. Sicher, es fügt über 20Mb libs zum Projekt.
InformationsquelleAutor der Antwort Gintas
Ich versucht die neueste code-version von Chrom zu bauen eine eigene WebView-und es ist erfolgreich.
Ich gebe mein Ansatz, aber nicht den source-code hier jetzt.
Schließlich, die Größe des benutzerdefinierten WebView Bibliothek ist über 30MB, ziemlich groß für eine kleine app. Aber es ist wunderbar, denn unterstützen kann perfekt von Android 4.0.
Dieser unten ist meine Methode:
fetch source-code von chromium und bauen web_view_apk (AndroidWebView test-shell) befolgen Sie diese Anweisungen https://www.chromium.org/developers/how-tos/android-build-instructions
verwenden apktool decompile die apk-Datei von Aw-Shell vor. https://ibotpeaches.github.io/Apktool/
erstellen Sie Ihr Projekt mit res, lib Ordner die gleiche wie dekompiliert Projekt.
Manifest-Datei befindet sich in /src/android_webview/test/src/org/Chrom/shell
src-Ordner: Sie finden die Klassen im Chrom-Projekt source-code, die jeweiligen Dateien in den smali-Ordner dekompiliert Projekt.
Ich werde zu aktualisieren meinem code später, aber Sie können versuchen, mein guide jetzt wenn Sie das nicht möchten, zu warten.
InformationsquelleAutor der Antwort Ken
Ich würde Chrom benutzerdefinierte Registerkarten:
https://developer.chrome.com/multidevice/android/customtabs
InformationsquelleAutor der Antwort WhereDatApp.com