Die Toolchain zum Ausführen von Chrome-Apps auf Mobilgeräten befindet sich in der frühen Entwicklervorschau. Geben Sie Sie können uns Ihr Feedback über den GitHub-Issue Tracker, unser Chrome-Apps-Entwicklerforum, unter Stack Overflow oder unsere G+ Entwicklerseite.
Übersicht
Sie können Ihre Chrome-Apps unter Android und iOS über eine Toolchain basierend auf Apache ausführen. Cordova, ein Open-Source-Framework für mobile Entwicklung zum Erstellen mobiler Apps mit nativen mit HTML, CSS und JavaScript.
Apache Cordova umschließt den Webcode Ihrer Anwendung mit einer nativen Anwendungs-Shell und ermöglicht Ihnen,
Ihre Hybrid-Web-App über Google Play und/oder den Apple App Store zu vertreiben. So verwenden Sie Apache Cordova
mit einer vorhandenen Chrome-App verwenden Sie die Befehlszeile cca
(c ordova c hrome a pp)
.
Zusätzliche Ressourcen
- Bei der Entwicklung mit Cordova gibt es ein paar besondere Überlegungen: finden Sie diese im Abschnitt Überlegungen.
- Auf der Seite API-Status sehen Sie, welche Chrome APIs auf Mobilgeräten unterstützt werden.
- Wenn Sie sich eine Vorschau Ihrer Chrome-App auf einem Android-Gerät ohne Toolchain ansehen möchten, verwenden Sie die Chrome-Apps Entwicklertools.
Legen wir los!
Schritt 1: Entwicklertools installieren
Die Toolchain für Chrome-Apps für Mobilgeräte kann auf iOS 6 und höher und Android 4.x oder höher ausgerichtet werden.
Entwicklungsabhängigkeiten für alle Plattformen
Node.js-Version 0.10.0 (oder höher) mit
npm
ist erforderlich:- Windows: Installieren Sie Node.js mithilfe der ausführbaren Dateien, die für die Installation heruntergeladen werden können von nodejs.org.
- OS X oder Linux: Ausführbare Installationsversionen sind auch auf nodejs.org verfügbar. Wenn Sie Wenn Sie keinen Root-Zugriff benötigen, ist es möglicherweise einfacher, die Installation über nvm durchzuführen. Beispiel:
curl https://raw.github.com/creationix/nvm/master/install.sh | sh source ~/.bash_profile || source ~/.profile || source ~/.bashrc nvm install 0.10 nvm alias default 0.10
Auf Android ausgerichtet
Wenn Sie eine App für Android entwickeln, müssen Sie außerdem Folgendes installieren:
- Java JDK 7 (oder höher)
- Android SDK Version 4.4.2 oder höher
<ph type="x-smartling-placeholder">
- </ph>
- Installieren Sie das Android SDK und die Android-Entwicklertools, die im Android ADT Bundle enthalten sind.
- Fügen Sie
sdk/tools
undsdk/platform-tools
zur Umgebungsvariablen PATH hinzu. - OS X: Die im Android SDK enthaltene Version von Eclipse erfordert JRE 6. Bei Öffnen Eclipse.app fordert Sie nicht zur Installation von JRE 6 auf. Laden Sie es über den Mac App Store herunter.
- Linux: Für das Android SDK sind 32-Bit-Supportbibliotheken erforderlich. Unter Ubuntu erhalten Sie diese über:
apt-get install ia32-libs
- Apache Ant
<ph type="x-smartling-placeholder">
- </ph>
- Fügen Sie
apache-ant-x.x.x/bin
zur Umgebungsvariablen PATH hinzu.
- Fügen Sie
Auf iOS ausgerichtet
Hinweis: Die iOS-Entwicklung kann nur unter OS X durchgeführt werden. Außerdem müssen Sie Folgendes installieren:
- Xcode 5 (oder höher), einschließlich der Xcode-Befehlszeilentools
- ios-deploy (für die Bereitstellung auf einem iOS-Gerät erforderlich)
<ph type="x-smartling-placeholder">
- </ph>
npm install -g ios-deploy
- ios-sim (für iOS-Simulator erforderlich)
<ph type="x-smartling-placeholder">
- </ph>
npm install -g ios-sim
- Optional: Als iOS-Entwickler registrieren
<ph type="x-smartling-placeholder">
- </ph>
- Dies ist für Tests auf echten Geräten und für die Einreichung im App-Shop erforderlich.
- Wenn Sie nur die iPhone-/iPad-Simulatoren verwenden möchten, können Sie die Registrierung überspringen.
cca
-Befehlszeilentool installieren
Installieren Sie cca
über npm:
npm install -g cca
So aktualisieren Sie die Toolchain später mit neuen Releases: npm update -g cca
.
Prüfen Sie, ob alles korrekt installiert ist, indem Sie den folgenden Befehl über die Befehlszeile ausführen:
cca checkenv
Du siehst die ausgegebene Versionsnummer von cca
und eine Bestätigung zu deinem Android- oder iOS-SDK
Installation.
Schritt 2: Projekt erstellen
Führen Sie folgenden Befehl aus, um ein Standardprojekt für Chrome-Apps in einem Verzeichnis namens YourApp
zu erstellen:
cca create YourApp
Wenn Sie bereits eine Chrome-App erstellt haben und diese auf eine mobile Plattform übertragen möchten, können Sie die
--link-to
, um einen symlink darauf zu erstellen:
cca create YourApp --link-to=path/to/manifest.json
Wenn Sie Ihre vorhandenen Chrome-App-Dateien stattdessen kopieren möchten, können Sie das Flag --copy-from
verwenden:
cca create YourApp --copy-from=path/to/manifest.json
Sie haben noch keine eigene Chrome-App? Probieren Sie eine der vielen Beispiel-Chrome-Apps für Mobilgeräte aus. Support.
Schritt 3: Entwickeln
Sie können Ihre Anwendung auf zwei Arten erstellen und ausführen:
- Option A: Über die Befehlszeile, mit dem
cca
-Tool oder - Option B: Mithilfe einer IDE wie Eclipse oder Xcode Die Verwendung einer IDE ist völlig optional (aber diese oft nützlich sind, um Sie beim Starten, Konfigurieren und Debuggen Ihrer hybriden mobilen Anwendung zu unterstützen.
Option A: Entwickeln und Erstellen über die Befehlszeile
Gehen Sie im Stammverzeichnis des von cca
generierten Projektordners so vor:
Android
- So führen Sie Ihre App im Android-Emulator aus:
cca emulate android
<ph type="x-smartling-placeholder">- </ph>
- Hinweis: Hierfür müssen Sie einen Emulator eingerichtet haben. Zum Einrichten können Sie
android avd
ausführen. Laden Sie mitandroid
zusätzliche Emulator-Images herunter. Damit die Intel-Images schneller ausgeführt werden, Installieren Sie HAXM von Intel.
- Hinweis: Hierfür müssen Sie einen Emulator eingerichtet haben. Zum Einrichten können Sie
- So führen Sie Ihre App auf einem verbundenen Android-Gerät aus:
cca run android
iOS
- So führen Sie Ihre App im iOS-Simulator aus:
cca emulate ios
- So führen Sie Ihre App auf einem verbundenen iOS-Gerät aus:
cca run ios
<ph type="x-smartling-placeholder">- </ph>
- Hinweis: Dazu müssen Sie ein Bereitstellungsprofil für Ihr Gerät eingerichtet haben.
Option B: Entwickeln und erstellen mit einer IDE
Android
- Wählen Sie in Eclipse
File
->Import
. - Wählen Sie
Android
aus >Existing Android Code Into Workspace
. - Importieren Sie sie aus dem Pfad, den Sie gerade mit
cca
erstellt haben.- Sie sollten zwei Projekte importieren, von denen eines
*-CordovaLib
ist.
- Sie sollten zwei Projekte importieren, von denen eines
- Klicken Sie auf die Wiedergabeschaltfläche, um Ihre App auszuführen.
<ph type="x-smartling-placeholder">
- </ph>
- Wie bei allen Java-Anwendungen müssen Sie eine Ausführungskonfiguration erstellen. Normalerweise erhältst du automatisch dazu aufgefordert.
- Außerdem müssen Sie Ihre Geräte/Emulatoren beim ersten Mal verwalten.
iOS
Öffnen Sie das Projekt in Xcode, indem Sie Folgendes in einem Terminalfenster eingeben:
cd YourApp open platforms/ios/*.xcodeproj
Stellen Sie sicher, dass Sie das richtige Ziel erstellen.
Oben links (neben den Schaltflächen „Ausführen“ und „Beenden“) befindet sich ein Drop-down-Menü zur Auswahl des Zielprojekts . Achten Sie darauf, dass
YourApp
und nichtCordovaLib
ausgewählt ist.Klicken Sie auf die Schaltfläche Wiedergabe.
Änderungen am Quellcode Ihrer Anwendung vornehmen
Ihre HTML-, CSS- und JavaScript-Dateien befinden sich im www
-Verzeichnis Ihres cca-Projektordners.
Wichtig: Nachdem Sie Änderungen an www/
vorgenommen haben, müssen Sie cca prepare
ausführen, bevor Sie Ihr
. Wenn Sie cca build
, cca run
oder cca emulate
über die Befehlszeile ausführen, gibt der
erfolgt die Vorbereitung automatisch. Bei der Entwicklung mit Eclipse/XCode müssen Sie Folgendes ausführen:
cca prepare
manuell.
Debugging
Die Fehlerbehebung für Ihre Chrome-App auf Mobilgeräten funktioniert genauso wie die für die Fehlerbehebung in Cordova-Apps.
Schritt 4: Nächste Schritte
Da Sie nun über eine funktionierende mobile Chrome-App verfügen, gibt es viele Möglichkeiten, die Nutzerfreundlichkeit Ihrer Mobilgeräten.
Manifest für Mobilgeräte
Es gibt bestimmte Einstellungen für Chrome-Apps, die nur für mobile Plattformen gelten. Wir haben eine
www/manifest.mobile.json
-Datei, die diese enthält, und die spezifischen Werte werden durchgehend referenziert
der Plug-in-Dokumentation und in diesem Handbuch.
Sie sollten die Werte hier entsprechend anpassen.
Symbole
Mobile Apps benötigen etwas mehr Symbolauflösungen als Chrome-Apps für Desktop-Computer.
Für Android sind folgende Größen erforderlich:
- 36px, 48px, 78px, 96px
Die erforderlichen Größen für iOS-Apps variieren, je nachdem, ob Sie iOS 6 oder iOS 7 unterstützen. Die Mindestanzahl der erforderlichen Symbole ist:
- iOS 6: 57px, 72px, 114px, 144px
- iOS 7: 72px, 120px, 152px
Eine vollständige Symbolliste würde in Ihrer manifest.json
-Datei wie folgt aussehen:
"icons": {
"16": "assets/icons/icon16.png",
"36": "assets/icons/icon36.png",
"48": "assets/icons/icon48.png",
"57": "assets/icons/icon57.png",
"72": "assets/icons/icon72.png",
"78": "assets/icons/icon78.png",
"96": "assets/icons/icon96.png",
"114": "assets/icons/icon114.png",
"120": "assets/icons/icon120.png",
"128": "assets/icons/icon128.png",
"144": "assets/icons/icon144.png",
"152": "assets/icons/icon152.png"
}
Die Symbole werden bei jeder Ausführung an die entsprechenden Stellen für jede Plattform kopiert.
cca prepare
Ladebildschirme
Bei iOS-Apps wird beim Laden ein kurzer Ladebildschirm angezeigt. Standardspritzer von Cordova
Bildschirme sind in platforms/ios/[AppName]/Resources/splash
enthalten.
Die erforderlichen Größen sind:
- 320 × 480 Pixel + 2 ×
- 768 x 1024 px + 2x (iPad-Hochformat)
- 1024 × 768 px + 2 × (iPad-Querformat)
- 640 × 1146 px
Bilder auf dem Ladebildschirm werden derzeit von cca
nicht geändert.
Schritt 5: Veröffentlichen
Das Verzeichnis platforms
Ihres Projekts enthält zwei vollständige native Projekte: eines für Android und
eine für iOS. Sie können Release-Versionen dieser Projekte erstellen und sie bei Google Play oder auf
iOS App Store herunterladen.
Im Play Store veröffentlichen
So veröffentlichen Sie Ihre Android-App im Play Store:
Aktualisieren Sie die beiden Android-Versions-IDs und führen Sie dann
cca prepare
aus:android:versionName
wird mit dem Schlüsselversion
inwww/manifest.json
festgelegt. Dadurch wird der Version Ihrer gepackten Desktop-App ebenfalls verfügbar.android:versionCode
wird mit dem SchlüsselversionCode
inwww/manifest.mobile.js
festgelegt.
platforms/android/ant.properties
bearbeiten (oder erstellen) undkey.store
undkey.alias
festlegen in der Android-Entwicklerdokumentation beschrieben.Erstellen Sie Ihr Projekt:
./platforms/android/cordova/build --release
Deine signierte APK-Datei befindet sich in
platforms/android/ant-build/
.Laden Sie Ihre signierte App in die Google Play Developer Console hoch.
Im iOS App Store veröffentlichen
- Aktualisiere die App-Version, indem du den Schlüssel „
CFBundleVersion
“ inwww/manifest.mobile.js
festlegst und dann führen Siecca prepare
aus. Öffnen Sie die Xcode-Projektdatei im Verzeichnis
platforms/ios
:öffne die Plattformen/ios/*.xcodeproj.
Folgen Sie dem Apple-Leitfaden für die App-Bereitstellung.
Besondere Überlegungen
Wenn Sie neu bei Chrome-Apps sind, ist das größte Problem, dass einige Webfunktionen deaktiviert sind. Einige davon funktionieren jedoch derzeit in Córdova.
Auf Mobilgeräten funktioniert eine Chrome-App möglicherweise nicht standardmäßig. Einige häufig auftretende Probleme bei der Mitnahme auf ein Mobilgerät:
- Layoutprobleme auf kleinen Bildschirmen, insbesondere im Hochformat.
- Empfohlene Problembehebung:Verwenden Sie CSS-Medienabfragen, um Ihre Inhalte für kleinere Bildschirme zu optimieren.
- Die über chrome.app.window festgelegte Größe des Chrome App-Fensters wird ignoriert. Verwenden Sie stattdessen die
nativen Abmessungen des Geräts.
- Empfohlene Korrektur: Entfernen Sie hartcodierte Fensterabmessungen. Ihre App mit verschiedenen Größen in denken.
- Kleine Schaltflächen und Links lassen sich nur schwer mit dem Finger antippen.
- Empfohlene Korrektur:Passen Sie die Berührungszielbereiche auf mindestens 44 × 44 Punkte an.
- Unerwartetes Verhalten bei Verwendung des Mauszeigers, das auf Touchscreens nicht vorhanden ist.
- Vorgeschlagene Korrektur:Aktivieren Sie zusätzlich zum Bewegen des Mauszeigers auch UI-Elemente wie Drop-down-Menüs und Kurzinfos auf antippen.
- Eine Tippverzögerung von 300 ms.
- Empfohlene Korrektur: Verwenden Sie den JavaScript-Polyfill von FastClick by FT Labs.
- In diesem HTML5Rocks-Artikel finden Sie einige Hintergrundinformationen.
Unterstützte Chrome APIs
Wir haben viele der wichtigsten Chrome APIs für Chrome Apps for Mobile verfügbar gemacht, darunter:
- identity – Nutzer mit OAuth2 anmelden
- Zahlungen – virtuelle Waren in Ihrer mobilen App verkaufen
- pushMessaging – Push-Nachrichten von Ihrem Server an Ihre App
- Sockets – Daten mit TCP und UDP über das Netzwerk senden und empfangen
- notifications (nur Android): umfassende Benachrichtigungen von Ihrer mobilen App senden
- storage – Daten zu Schlüssel/Wert-Paaren lokal speichern und abrufen
- syncFileSystem – Speichern und Abrufen von Dateien, die in Google Drive gesichert sind
- alarms – Aufgaben regelmäßig ausführen
- idle: Erkennt, wenn sich der Leerstand des Computers ändert.
- power: Energiesparfunktionen des Systems überschreiben
Es sind jedoch nicht alle Chrome JavaScript APIs implementiert. Und nicht alle Chrome-Desktop-Funktionen sind auf Mobilgeräten verfügbar:
- Kein
<webview>
-Tag - keine IndexedDB
- no getUserMedia()
- keine NaCl
Sie können den Fortschritt auf der Seite API-Status verfolgen.
Entwicklertools für Chrome-Apps
Das Chrome Apps Developer Tool (ADT) für Android ist eine eigenständige Android-App, mit der Sie Sie können eine Chrome-App herunterladen und ausführen, ohne die Entwicklungs-Toolchain wie oben beschrieben einzurichten. Verwenden Sie das Chrome ADT, wenn Sie eine vorhandene Chrome-App (bereits als CRX-Paket verpackt) schnell in der Vorschau anzeigen möchten auf deinem Android-Gerät.
Chrome ADT für Android ist derzeit in der Vorab-Alpha-Version. Sehen Sie sich zum Ausprobieren Versionshinweise zu ChromeADT.apk finden Sie unter "ChromeADT.apk".