{"id":769,"date":"2014-09-21T17:25:42","date_gmt":"2014-09-21T15:25:42","guid":{"rendered":"http:\/\/joergnapp.de\/?p=769"},"modified":"2014-09-21T17:37:39","modified_gmt":"2014-09-21T15:37:39","slug":"eine-android-app-automatisch-starten","status":"publish","type":"post","link":"https:\/\/joergnapp.de\/blog\/eine-android-app-automatisch-starten\/","title":{"rendered":"Eine Android-App automatisch starten"},"content":{"rendered":"<p>F\u00fcr ein altes Android-Tablet m\u00f6chte ich gerne <a href=\"http:\/\/xbmc.org\/\" target=\"_blank\">XBMC<\/a>\u00a0automatisch beim Hochfahren starten. Zwar gibt es einige Apps, die derartige Autostarts erledigen, doch letztendlich habe ich mich daf\u00fcr entschieden, XBMC als &#8222;Launcher&#8220;, also als zentralen &#8222;Programmstarter&#8220; zu installieren.<\/p>\n<p>Das erfordert die \u00c4nderung der <a href=\"http:\/\/developer.android.com\/guide\/topics\/manifest\/manifest-intro.html\" target=\"_blank\">Manifest-Datei<\/a> von XMBC.<\/p>\n<p>Daf\u00fcr ben\u00f6tigt man ein paar Werkzeuge:<\/p>\n<ul>\n<li>Von <a href=\"https:\/\/code.google.com\/p\/android-apktool\/\" target=\"_blank\">https:\/\/code.google.com\/p\/android-apktool\/<\/a> die Dateien\u00a0<a title=\"apktool\" href=\"https:\/\/code.google.com\/p\/android-apktool\/downloads\/detail?name=apktool1.5.2.tar.bz2\">apktool1.5.2.tar.bz2<\/a> und <a title=\"apktool dependencies and helper script for windows\" href=\"https:\/\/code.google.com\/p\/android-apktool\/downloads\/detail?name=apktool-install-windows-r05-ibot.tar.bz2\">apktool-install-windows-r05-ibot.tar.bz2<\/a>\u00a0(bzw. bei Verf\u00fcgbarkeit die neueren Varianten) herunterladen und beide in dasselbe Verzeichnis entpacken.<\/li>\n<li>Von\u00a0<a href=\"http:\/\/www.mediafire.com\/download\/rw57ftajd6nm81s\/SignApk.zip\" target=\"_blank\">hier<\/a>\u00a0die Datei\u00a0SignApk.zip herunterladen und ebenfalls in das Verzeichnis kopieren (<a href=\"http:\/\/forum.xda-developers.com\/showthread.php?t=1760133\" target=\"_blank\">Quelle<\/a>)<\/li>\n<li>Und nat\u00fcrlich die ben\u00f6tigte APK f\u00fcr XMBC von der <a href=\"http:\/\/xbmc.org\/download\/\" target=\"_blank\">Downloadseite <\/a>herunterladen und ebenfalls in das Verzeichnis kopieren<\/li>\n<\/ul>\n<p>Au\u00dferdem sollte Java (die Runtime JRE gen\u00fcgt) und ein gescheiter Texteditor (z.B. Notepad++) installiert sein.<\/p>\n<p>Jetzt eine Eingabeaufforderung starten, in das Verzeichnis mit den Dateien wechseln und es kann los gehen:<\/p>\n<p><strong>Entpacken der APK-Datei:<\/strong><\/p>\n<p>Um die ben\u00f6tigten \u00c4nderungen vornehmen zu k\u00f6nnen, muss die APK-Datei zun\u00e4chst entpackt werden. Das geschieht mit dem Befehl<\/p>\n<pre>apktool d xbmc-13.2-Gotham-armeabi-v7a.apk<\/pre>\n<p><strong>Bearbeiten des Manifests:<\/strong><\/p>\n<p>Jetzt wird in das Manifest eingetragen, dass die App\u00a0als Launcher fungieren soll. Dazu wird in den Abschnitt\u00a0&lt;intent-filter&gt; der Manifest-Datei zus\u00e4tzlich eingetragen<\/p>\n<pre>&lt;category android:name=\"android.intent.category.HOME\" \/&gt;\r\n&lt;category android:name=\"android.intent.category.DEFAULT\" \/&gt;\r\n&lt;category android:name=\"android.intent.category.MONKEY\"\/&gt;<\/pre>\n<p><a href=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2014\/09\/manifest.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-770 size-full\" src=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2014\/09\/manifest.jpg\" alt=\"Manifest.xml\" width=\"910\" height=\"265\" srcset=\"https:\/\/joergnapp.de\/blog\/wp-content\/uploads\/2014\/09\/manifest.jpg 910w, https:\/\/joergnapp.de\/blog\/wp-content\/uploads\/2014\/09\/manifest-300x87.jpg 300w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p><strong>Packen der APK-Datei:<\/strong><\/p>\n<p>Nach dem Editieren kann man nun aus den Quelldateien wieder eine APK-Datei machen. Dazu dient der Befehl<\/p>\n<pre>apktool b xbmc-13.2-Gotham-armeabi-v7a xbmc-13.2.apk<\/pre>\n<p>Der erste Parameter ist dabei das Verzeichnis der entpackten und ver\u00e4nderten Dateien, der zweite Parameter der Name der zu erstellenden APK-Datei.<\/p>\n<p><strong>Signieren der APK-Datei:<\/strong><\/p>\n<p>Nun muss die Datei noch signiert werden, damit sie installiert werden kann. Der Befehl dazu:<\/p>\n<pre>java -jar signapk.jar certificate.pem key.pk8 xbmc-13.2.apk xbmc-13.2-signed.apk<\/pre>\n<p>Die Datei wird damit mit dem beiliegenden Testzertifikat signiert und ist installationsbereit. Sauberer w\u00e4re es, sich selbst ein eigenes Zertifikat auszustellen und dies zum signieren zu verwenden; wer das tun m\u00f6chte, lese <a href=\"http:\/\/developer.android.com\/tools\/publishing\/app-signing.html\" target=\"_blank\">die entsprechende Dokumentation<\/a>.<\/p>\n<p><a href=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2014\/09\/dos.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-773\" src=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2014\/09\/dos-300x130.jpg\" alt=\"Befehlszeile\" width=\"300\" height=\"130\" srcset=\"https:\/\/joergnapp.de\/blog\/wp-content\/uploads\/2014\/09\/dos-300x130.jpg 300w, https:\/\/joergnapp.de\/blog\/wp-content\/uploads\/2014\/09\/dos.jpg 997w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Die Datei kann nur dann installiert werden, wenn sie noch nicht installiert ist &#8211; ansonsten w\u00e4re die installierte mit einem anderen Zertifikat signiert, unsere ver\u00e4nderte Version w\u00fcrde durch die Android-Sicherheitsmechanismen nicht akzeptiert. Also vorab XBMC deinstallieren und unsere ver\u00e4nderte Version nutzen. \u00a0Beim Druck auf die Home-Taste erscheint nun die gew\u00fcnschte Abfrage:<\/p>\n<p><a href=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2014\/09\/Screenshot_2014-09-21-17-21-38.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-771\" src=\"http:\/\/joergnapp.de\/wp-content\/uploads\/2014\/09\/Screenshot_2014-09-21-17-21-38-300x180.png\" alt=\"Screenshot_2014-09-21-17-21-38\" width=\"300\" height=\"180\" srcset=\"https:\/\/joergnapp.de\/blog\/wp-content\/uploads\/2014\/09\/Screenshot_2014-09-21-17-21-38-300x180.png 300w, https:\/\/joergnapp.de\/blog\/wp-content\/uploads\/2014\/09\/Screenshot_2014-09-21-17-21-38.png 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr ein altes Android-Tablet m\u00f6chte ich gerne XBMC\u00a0automatisch beim Hochfahren starten. Zwar gibt es einige Apps, die derartige Autostarts erledigen, doch letztendlich habe ich mich daf\u00fcr entschieden, XBMC als &#8222;Launcher&#8220;, also als zentralen &#8222;Programmstarter&#8220; zu installieren. Das erfordert die \u00c4nderung der Manifest-Datei von XMBC. Daf\u00fcr ben\u00f6tigt man ein paar Werkzeuge: Von https:\/\/code.google.com\/p\/android-apktool\/ die Dateien\u00a0apktool1.5.2.tar.bz2 und &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/joergnapp.de\/blog\/eine-android-app-automatisch-starten\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eEine Android-App automatisch starten\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[217,159,220,221],"class_list":["post-769","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-android","tag-anleitung","tag-autostart","tag-xbmc"],"_links":{"self":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/posts\/769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/comments?post=769"}],"version-history":[{"count":0,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/posts\/769\/revisions"}],"wp:attachment":[{"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/media?parent=769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/categories?post=769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joergnapp.de\/blog\/wp-json\/wp\/v2\/tags?post=769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}