Android Development: Unterschied zwischen den Versionen
(→Links) |
|||
| Zeile 50: | Zeile 50: | ||
* Nach dem Neustart von Eclipse fragt das Plugin nach dem Ort des SDK (wenn er es noch nicht gefunden hat) | * Nach dem Neustart von Eclipse fragt das Plugin nach dem Ort des SDK (wenn er es noch nicht gefunden hat) | ||
* Über Windows SDK-Manager können wir jetzt jederzeit die restlichen Android Komponenten laden die wir benötigen. | * Über Windows SDK-Manager können wir jetzt jederzeit die restlichen Android Komponenten laden die wir benötigen. | ||
| + | |||
| + | == Android Apps signieren und veröffentlichen == | ||
| + | === Google Maps API Key === | ||
| + | * Notwendig für Zugriffe auf den Google Maps Kartenserver. | ||
| + | * Alle Android Apps müssen mit einem digitalen Zertifikat signiert werden für das der Entwickler den private key hat. Damit werden die Apps auf dem Map-Server oder im PlayStore getrackt. | ||
| + | * Man benötigt einen Schlüssel für jedes Zertifikat | ||
| + | * In der Praxis erstellt man ein Zertifikat für jede App (theoretisch kann man auch mehrere mit einem Zertifikat signieren) | ||
| + | * Für die Entwicklung nutzt Eclipse ein Entwickler Zertifikat ohne API Key dies reicht nicht bei Apps die einen Maps API Key benötigen | ||
| + | === Google Maps API Key erstellen === | ||
| + | ==== Google Play Services Installieren ==== | ||
| + | Dieses SDK benötigt man um einen Key zu holen (Dieser Schritt muß nur einmal gemacht werden) | ||
| + | * Android SDK aus Eclipse oder über Terminal starten.(On Mac or Linux, tools/ directory Befehl: android sdk) | ||
| + | * Im Android SDK Extras > Google Play services SDK installieren | ||
| + | ==== App Zertifikat Fingerprint anzeigen ==== | ||
| + | Es gibt Debug Zertifikate und Release Zertifikate. Das Debug Zertifikat wird von Eclipse automatisch beim Debuggen der App erstellt. Um den passenden Key zu bekommen braucht man den Fingerprint des gewünschten Zertifikats. | ||
| + | ===== Debug Zertifikat Fingerprint ===== | ||
| + | Die Zertifikate kann man aus dem debug keystore file auslesen. Es nennt sich debug.keystore und wird beim ersten erstellen des Projekts erzeugt. Es befindet sich im gleichen Verzeichnis wie die Android Virtual Device (AVD) Dateien. Unter Mac ist das: | ||
| + | ~/.android/ | ||
| + | Windows Vista and Windows 7: | ||
| + | C:\Users\your_user_name\.android\ | ||
| + | In Eclipse kann man den Ort mit | ||
| + | Windows > Prefs > Android > Build | ||
| + | Anzeigen lassen (dann kopieren und in den Finder kopieren. | ||
| + | |||
| + | List the SHA-1 fingerprint im Terminal: | ||
| + | |||
| + | keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android | ||
| + | Ausgabe sieht etwa so aus: | ||
| + | <pre> | ||
| + | Alias name: androiddebugkey | ||
| + | Creation date: Jan 01, 2013 | ||
| + | Entry type: PrivateKeyEntry | ||
| + | Certificate chain length: 1 | ||
| + | Certificate[1]: | ||
| + | Owner: CN=Android Debug, O=Android, C=US | ||
| + | Issuer: CN=Android Debug, O=Android, C=US | ||
| + | Serial number: 4aa9b300 | ||
| + | Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 | ||
| + | Certificate fingerprints: | ||
| + | MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 | ||
| + | SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 | ||
| + | Signature algorithm name: SHA1withRSA | ||
| + | Version: 3 | ||
| + | </pre> | ||
| + | Die Zeile mit SHA1 enthält den fingerprint, eine Sequenz von 20 two-digit hexadecimal numbers separated by colons. | ||
| + | |||
| + | ===== Release Zertifikat anzeigen ===== | ||
| + | Auch hier muß man das release certificate keystore file finden, dies ist jedoch nicht immer am gleichen Ort. Man kann einen Ort festlegen, wenn man das release build für die App macht. Wenn man es nicht macht bleibt die App unsigniert und man kann Sie beim Publizieren Signieren. Da wir aber den API Key brauchen geht das in diesem Fall nicht. | ||
| + | |||
| + | Für das release Zertifikat braucht man auch den certificate's alias und die Passwörter für den keystore und das Zertifikat. | ||
| + | |||
| + | So kann man die Alias Liste für alle Keys im Keystore anzeigen: | ||
| + | |||
| + | keytool -list -keystore your_keystore_name | ||
| + | Ersetze ''your_keystore_name'' mit dem fully-qualified Pfad und dem Namen des Keystore, inklusive der .keystore extension. Es wird nach dem keystore Passwort gefragt und danach die Liste angezeigt. | ||
| + | |||
| + | Jetzt können wir folgendes eingeben: | ||
| + | <pre> | ||
| + | keytool -list -v -keystore your_keystore_name -alias your_alias_name | ||
| + | </pre> | ||
| + | Replace your_keystore_name with the fully-qualified path and name of the keystore, including the .keystore extension. Replace your_alias_name with the alias that you assigned to the certificate when you created it. | ||
| + | |||
| + | Caution: To protect your keystore and key, don't enter the storepass or keypass arguments on the command line unless you're confident of your computer's security. For example, on a public computer, someone could look at your terminal window history or list of running processes, get the password, and then have write access to your signing certificate. This would allow that person to modify or replace your application with their own. | ||
| + | |||
| + | You should see a display that is similar to this: | ||
| + | |||
| + | Alias name: <alias_name> | ||
| + | Creation date: Feb 02, 2013 | ||
| + | Entry type: PrivateKeyEntry | ||
| + | Certificate chain length: 1 | ||
| + | Certificate[1]: | ||
| + | Owner: CN=Android Debug, O=Android, C=US | ||
| + | Issuer: CN=Android Debug, O=Android, C=US | ||
| + | Serial number: 4cc9b300 | ||
| + | Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033 | ||
| + | Certificate fingerprints: | ||
| + | MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9 | ||
| + | SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75 | ||
| + | Signature algorithm name: SHA1withRSA | ||
| + | Version: 3 | ||
| + | The line that begins SHA1 contains the certificate's SHA-1 fingerprint. The fingerprint is the sequence of 20 two-digit hexadecimal numbers separated by colons. | ||
| + | |||
| + | ===== Projekt in der Google APIs Console registrieren ===== | ||
| + | and add the Maps API as a service for the project. | ||
| + | *Once you have a project set up, you can request one or more keys. | ||
| + | *Finally, you can add your key to your application and begin development. | ||
Version vom 8. Oktober 2013, 14:54 Uhr
Links
- Android Developer Referenz von Google: http://developer.android.com/reference/packages.html
- http://www.vogella.com/articles/Android/article.html (umfassendes Tutorial gepflegt seit 2009 (Stand 2013))
Android Development - Referenz
Android Development - Snippets
Android Development - Setting up PlayStore Service
Android Development - First Steps
Android Development - Hello World
Android Development - User Interface programmieren (Layout anlegen)
Android Development - Grundfunktionen Programmieren (Neue Activity starten, Intents, Button und Textfelder)
Android Entwicklungsumgebung
Eclipse und Android SDK
Es gibt ein angepasstes Eclipse Paket mit den Android Tools auf http://developer.android.com/sdk/installing/index.html, das ist der schnellste Weg. Im Folgenden ein Beispiel für die klassische Installation, bei der wir alle Schritte nacheinander durchführen.
Benötigte Komponenten
Im Einzelnen benötigt man über eine Eclipse / Java IDE noch:
- ADT plugin (Android Developer Tools)
- Android SDK Tools
- Android Platform-tools
- The latest Android platform
- The latest Android system image for the emulator
Eclipse Installation
http://help.eclipse.org/juno/index.jsp
- Download Eclipse (z.B. Classic)
- Download und Installation des Java JDK (Java Entwickler SDK)
- Registrieren des JDK in Eclipse (Preferences > Java > Installed JREs
Android SDK installieren
- Android SDK downloaden und installieren (benötigt JDK) Beim ersten Start fragt der SDK Manager welche Tools für welche Android Plattform man nachladen möchte. Wenn man mit Eclipse arbeitet sollte man den Manager abbrechen und dies später über das Eclipse Plugin machen.
ADT Plugin für Eclipse installieren
http://developer.android.com/sdk/installing/installing-adt.html
- In Eclipse Help > Install New Software.
- Add Repository Dialog "ADT Plugin" als Name und folgende URL angeben:
https://dl-ssl.google.com/android/eclipse/
Bei Problemen mit der Verbindunghttp verwenden.
- Developer Tools auswählen und die Installation fertigstellen.
- Nach der Installation Eclipse neu starten.
- Nach dem Neustart von Eclipse fragt das Plugin nach dem Ort des SDK (wenn er es noch nicht gefunden hat)
- Über Windows SDK-Manager können wir jetzt jederzeit die restlichen Android Komponenten laden die wir benötigen.
Android Apps signieren und veröffentlichen
Google Maps API Key
- Notwendig für Zugriffe auf den Google Maps Kartenserver.
- Alle Android Apps müssen mit einem digitalen Zertifikat signiert werden für das der Entwickler den private key hat. Damit werden die Apps auf dem Map-Server oder im PlayStore getrackt.
- Man benötigt einen Schlüssel für jedes Zertifikat
- In der Praxis erstellt man ein Zertifikat für jede App (theoretisch kann man auch mehrere mit einem Zertifikat signieren)
- Für die Entwicklung nutzt Eclipse ein Entwickler Zertifikat ohne API Key dies reicht nicht bei Apps die einen Maps API Key benötigen
Google Maps API Key erstellen
Google Play Services Installieren
Dieses SDK benötigt man um einen Key zu holen (Dieser Schritt muß nur einmal gemacht werden)
- Android SDK aus Eclipse oder über Terminal starten.(On Mac or Linux, tools/ directory Befehl: android sdk)
- Im Android SDK Extras > Google Play services SDK installieren
App Zertifikat Fingerprint anzeigen
Es gibt Debug Zertifikate und Release Zertifikate. Das Debug Zertifikat wird von Eclipse automatisch beim Debuggen der App erstellt. Um den passenden Key zu bekommen braucht man den Fingerprint des gewünschten Zertifikats.
Debug Zertifikat Fingerprint
Die Zertifikate kann man aus dem debug keystore file auslesen. Es nennt sich debug.keystore und wird beim ersten erstellen des Projekts erzeugt. Es befindet sich im gleichen Verzeichnis wie die Android Virtual Device (AVD) Dateien. Unter Mac ist das:
~/.android/
Windows Vista and Windows 7:
C:\Users\your_user_name\.android\
In Eclipse kann man den Ort mit
Windows > Prefs > Android > Build
Anzeigen lassen (dann kopieren und in den Finder kopieren.
List the SHA-1 fingerprint im Terminal:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Ausgabe sieht etwa so aus:
Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
Signature algorithm name: SHA1withRSA
Version: 3
Die Zeile mit SHA1 enthält den fingerprint, eine Sequenz von 20 two-digit hexadecimal numbers separated by colons.
Release Zertifikat anzeigen
Auch hier muß man das release certificate keystore file finden, dies ist jedoch nicht immer am gleichen Ort. Man kann einen Ort festlegen, wenn man das release build für die App macht. Wenn man es nicht macht bleibt die App unsigniert und man kann Sie beim Publizieren Signieren. Da wir aber den API Key brauchen geht das in diesem Fall nicht.
Für das release Zertifikat braucht man auch den certificate's alias und die Passwörter für den keystore und das Zertifikat.
So kann man die Alias Liste für alle Keys im Keystore anzeigen:
keytool -list -keystore your_keystore_name
Ersetze your_keystore_name mit dem fully-qualified Pfad und dem Namen des Keystore, inklusive der .keystore extension. Es wird nach dem keystore Passwort gefragt und danach die Liste angezeigt.
Jetzt können wir folgendes eingeben:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
Replace your_keystore_name with the fully-qualified path and name of the keystore, including the .keystore extension. Replace your_alias_name with the alias that you assigned to the certificate when you created it.
Caution: To protect your keystore and key, don't enter the storepass or keypass arguments on the command line unless you're confident of your computer's security. For example, on a public computer, someone could look at your terminal window history or list of running processes, get the password, and then have write access to your signing certificate. This would allow that person to modify or replace your application with their own.
You should see a display that is similar to this:
Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
Signature algorithm name: SHA1withRSA
Version: 3
The line that begins SHA1 contains the certificate's SHA-1 fingerprint. The fingerprint is the sequence of 20 two-digit hexadecimal numbers separated by colons.
Projekt in der Google APIs Console registrieren
and add the Maps API as a service for the project.
- Once you have a project set up, you can request one or more keys.
- Finally, you can add your key to your application and begin development.