Keine Installation eigener apk-Datei auf Handy möglich

  • Antworten:28
  • Geschlossen
Gelöschter Account
  • Forum-Beiträge: 15

23.10.2010, 15:13:19 via Website

Ich habe mit Eclipse eine Anwendung erstellt, die "Hello, Android" ausgibt.
Mit dem Emualtor des Android SDK läuft die Anwendung problemlos.

Um das Programm auf das Handy (HTC Desire) zu übertragen,
habe ich eine apk-Datei erstellt:

1. Rechtsklick nach Mauscursor über Projekt
2. Android Tools->Export Unsigned Application Package
3. <Projektname>.apk Speichern

Dann kommt Hinweisfenster "An unsigned package was saved at ...
Before publishing the application you will need to:

- Sign the application...
- run zipalign on the signed package..."

Die apk-Datei habe ich per USB<->microUSB auf das Handy übertragen.
Auf dem Desire habe ich den ASTRO-Dateimanager installiert.
Die apk-Datei liegt im Verzeichnis /mnt/sdcard/download.

Wenn ich die apk-Datei anklicke, dann auf "App-Manager öffnen" klicke
und dann auf "Installieren" klicke, wird kurz versucht, die Anwendung zu installieren
(Anzeige eines Fortschrittsbalkens), dann kommt die Meldung "Anwendung nicht installiert".

Woran liegt es, dass ich die Anwendung nicht installieren kann?

Muss ich evtl. auch schon zum Testen eine signed und zipalign'te Anwendung
erstellen?

Oder könnte es ein Problem sein, dass die apk-Datei auf der SD-Karte liegt und nicht
im internen Speicher? Normalerweise sollte ich aber alle Anwendungen auf SD-Karte installieren können,
da ich APP2SD nach der Abnleitung unter
http://www.android-hilfe.de/htc-desire/38415-app2sd-froyo-machts-moeglich-ohne-root.html
"freigeschaltet" habe.

Gelöschter Account
  • Forum-Beiträge: 5.136

23.10.2010, 15:50:54 via Website

Hallo Klaus,

Du musst unter Einstellungen - Anwendungen den Haken bei "Unbekannte Herkunft " am Handy setzen.

Ansonsten kannst Du keine unsignierten Anwendungen auf dem Handy installieren.

Sollte es dann immer noch nicht funktionieren, solltest Du mal USB Debugging aktivieren und im Eclipse im Logcat nachsehen was für Fehlermeldungen da ggf. vom Handy ausgegeben werden.

— geändert am 23.10.2010, 22:13:19

lg Voss

San Blarnoi
  • Forum-Beiträge: 2.545

23.10.2010, 18:47:59 via Website

Ansonsten kannst Du keine unsignierten Anwendungen auf dem Handy installieren.

Ich meine mal gelesen zu haben, das man unsignierte Apps gar nicht installieren kann, egal mit welchen Einstellungen;
Indiz dafür ist zB, das Eclipse (bzw. die Android-Tools) beim Testen einen eigens dafür angelegten Debug-Keystore verwalten - wäre doch unötig, wenn die gerade übersetzte App auch unsigniert aufs Device übertragen werden könnte, oder?

@Klaus:
nimm einfach die .apk aus <projekt-ordner>/bin, wenn dein Handy richtig konfiguriert (siehe Jörgs Beitrag) ist, dann klappt die Installation damit definitiv.
...das du beim Arbeiten mit Eclipse auch direkt auf dem Handy testen kannst (statt einen Emulator zu benutzen) weißt du aber?

Ansgar M
  • Forum-Beiträge: 1.544

23.10.2010, 19:17:34 via App

Oder, wenn alles andere nicht geht, erstell' dir einfach ein Zertifikat. Dafür musst du nur auf „export signed app..“ klicken und dann kannst du dir da einen keystore einrichten und so weiter :grin:
Lg Ansgar

Gelöschter Account
  • Forum-Beiträge: 15

23.10.2010, 21:12:50 via Website

Vielen Dank für die Antworten.


Jörg V.

Du musst unter Einstellungen - Anwendungen den Haken bei "Unbekannte Herkunft " am Handy setzen.

Habe ich, hatte ich vergessen zu erwähnen.

Jörg V.

Sollte es dann immer noch nicht funktionieren, solltest Du mal USB Debugging aktivieren
und im Eclipse im Logcat nachsehen was für Fehlermeldungen da ggf. vom Handy ausgegeben werden.

Habe ich noch nicht getestet, danke für den Tipp.

and dev

nimm einfach die .apk aus <projekt-ordner>/bin

Das mit der Installation der apk-Datei aus dem <projekt-ordner>/bin-Verzeichnis
hat funktioniert!


and dev

Ich meine mal gelesen zu haben, das man unsignierte Apps gar nicht installieren kann, egal mit welchen
Einstellungen; Indiz dafür ist zB, das Eclipse (bzw. die Android-Tools) beim Testen einen eigens dafür angelegten
Debug-Keystore verwalten - wäre doch unötig, wenn die gerade übersetzte App auch unsigniert aufs Device >
übertragen werden könnte, oder?

Bedeutet das im Umkehrschluss, dass die Datei im <projekt-ordner>/bin-Verzeichnis automatisch
von Eclipse signiert wurde, da ich sie ja auf dem Handy installieren kann?

and dev

...das du beim Arbeiten mit Eclipse auch direkt auf dem Handy testen kannst
(statt einen Emulator zu benutzen) weißt du aber?

Nein, bis jetzt nicht. Wie denn (falls das jetzt nicht zu weit führt)?

Ansgar M.

Oder, wenn alles andere nicht geht, erstell' dir einfach ein Zertifikat.
Dafür musst du nur auf „export signed app..“ klicken und dann kannst du
dir da einen keystore einrichten und so weiter

Wie das mit dem Keystore funktioniert, weiss ich noch nicht;
aber ich habe ein Android-Buch, wo das wohl
beschrieben wird.

— geändert am 23.10.2010, 21:14:26

Ansgar M
  • Forum-Beiträge: 1.544

23.10.2010, 21:30:25 via App

Das ist eigentlich ganz einfach, habs nur einmal gemacht.. Ohne Googlen hats geklappt, ist so zum durchklicken..
Lg Ansgar

Gelöschter Account
  • Forum-Beiträge: 5.136

23.10.2010, 22:12:55 via Website

Verdammich .. klar, And Dev hat natürlich recht ... ich Blödmann hab da irgendwie den Connex verloren ..

Unsignierte Packete sind natürlich nicht installierbar und ja, die im Bin Verzeichnis liegende und normalerweise automatisch kompilierte .apk ist mit einem Debug Zertifikat gesigned. Genau dafür ist ja die Einstellung am Handy!

Und wie schon wunderbar beschrieben, das erstellen des Keystores ist total simpel. Einfach durchklicken. Du musst im zweiten Screen des Export Dialoges nur den Punkt "create new one" auswählen. Das Tool sagt Dir dann was Du tun musst.

Ansonsten gibt es hier : Signieren auch eine Beschreibung wie man einen Keystore manuell erstellen kann. (Diesen Keystore musst Du dann unter "Use existing one" im zweiten Screen auswählen.

Sorry nochmal das ich Dir da so einen Blödsinn erzählt hab. Irgendwie war ich da wohl nicht ganz auf der Höhe ... *kopfschüttel* ..

lg Voss

San Blarnoi
  • Forum-Beiträge: 2.545

24.10.2010, 00:13:48 via Website

Das mit der Installation der apk-Datei aus dem <projekt-ordner>/bin-Verzeichnis
hat funktioniert!

Prima :)


Bedeutet das im Umkehrschluss, dass die Datei im <projekt-ordner>/bin-Verzeichnis automatisch
von Eclipse signiert wurde, da ich sie ja auf dem Handy installieren kann?

Genau, allerdings ist das ein generisches Zertifikat und darum nicht für Veröffentlichungen im Market geeignet.


Nein, bis jetzt nicht. Wie denn (falls das jetzt nicht zu weit führt)?

Wenn du die mit dem SDK gelieferten USB-Treiber installiert hast, konfigurierst du dein Handy auf "USB-Debugging", stöpselst es an deinen PC an, wählst "Nur Laden" als Anschlußart;
anschließend solltest du es in Eclipse in der DDMS-Ansicht sehen können (oder in der Console via "adb devices")
Je nachdem wie deine "run configuration" in Eclipse eingestellt ist, wirst du beim Start deiner App nun gefragt, ob du nen Emu oder das echte Handy verwenden möchtest.
Also eigentlich ganz einfach ;)

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 13:17:58 via Website

Hi,
Ich habe gerade eine mini-App mit Eclipse gemacht und möchte diese exportieren. Dafür braucht man ja einen "Keystore" und wenn man noch keinen hat, muss man sich einen erstellen. Hab ich auch probiert und Google teilweise misshandelt *g*
Auf jeden Fall ging es immer wieder um dieses Keytool von Java, was im bin-Verzeichnis liegt. Da scheint man dann Kommandos einzutippen und den Keystore zu generieren oder so.. Leider öffnet sich dieses Keytool bei mir nicht Ich klicke es an, ich sehe dieses Code-Fenster für halbe Sekunde und es veschwindet wieder :-o
Was muss ich machen?^^

San Blarnoi
  • Forum-Beiträge: 2.545

03.12.2011, 14:25:08 via Website

Rechtsklick aufs Projekt, "Android-Tools" / "Export signed Application Package" und dann auf der 2. Seite "Create new Keystore"

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 14:29:05 via Website

Wo ist denn das Projekt abgelagert? Ich nehme ja an im workspace aber welche Datei?

San Blarnoi
  • Forum-Beiträge: 2.545

03.12.2011, 16:39:55 via Website

Ich habe gerade eine mini-App mit Eclipse gemacht

Wie hast du denn das zustande bekommen, wenn du nicht weißt wo dein Projekt ist?
Eclipse: links, Reiter Package Explorer, Wurzelelement der Dateien, die deine Mini-App darstellen.

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 16:43:46 via Website

Achsoo :-D Ich war mit dem Windows-Explorer unterwegs und bin n ziemlicher Noob im Moment :-x
Habs jetzt gefunen. Beim Exportieren war ich ja auch schon und jetzt wenn ich "Export signed Application Package" klicke brauche ich immer noch einen Keystore..

San Blarnoi
  • Forum-Beiträge: 2.545

03.12.2011, 17:02:00 via Website

"Export signed Application Package" und dann auf der 2. Seite "Create new Keystore"

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 17:07:53 via Website

Richtig. Aber da brauch ich eine "Location" und ich hab keine Ahnung, was der da braucht/will..
Tut mir leid, wenn ichs einfach nich raff^^

Ansgar M
  • Forum-Beiträge: 1.544

03.12.2011, 17:42:38 via App

Das ist der Ort und Name, wo der hin soll, nehme ich mal an..
Und gut drauf aufpassen, denn wenn der Keystore verloren geht, kannst du Apps nicht mehr updaten, sondern musst sie neu installieren..
Lg Ansgar

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 17:50:48 via Website

Er scheint allerdings keinen Pfad sondern eine Datei zu benötigen Wenn ich einen neuen Keystore "kreieren" will, brauch ich ja zwei Sachen:
Location und Passwort.
Nur weiß ich eben nicht, was er bei Location erwartet.. Wenn ich einen Ordner auswähle, öffnet er diesen und scheint eine Datei zu fordern.

San Blarnoi
  • Forum-Beiträge: 2.545

03.12.2011, 18:25:32 via Website

Da gibst du dann den gewünschten Namen der neu zu erzeugenden Datei an;
ich verstehe gerade nicht, wo deine Denkblockade ist - ist doch im Grunde genau das gleiche wie wenn du in Word oder irgend einem anderen Editor eine neue Datei anlegen willst!?

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 18:39:58 via Website

Aaaaah. Verdammt, so dumm hab ich mich auch noch nie gefühlt ._. Ich wusste nicht, dass man da einen eigenen Namen eingeben sollte..
Naja, jetzt hats geklappt=)
Nächstes Problem wäre allerdings ein Fehler beim Parsen des Pakets. Wahrscheinlich stell ich mich schon wieder nur zu blöd an aber ich kanns eben nicht besser^^

San Blarnoi
  • Forum-Beiträge: 2.545

03.12.2011, 19:51:13 via Website

Das wäre dann jetzt beim Versuch, deine App auf irgendeinem Phone zu installieren?
Dann scheitert es wahrscheinlich an einem (aus der Sicht des betreffenden Phones) falsch oder unvollständig ausgefüllten Manifest.

Simon Seeber
  • Forum-Beiträge: 27

03.12.2011, 21:31:05 via Website

Ja, richtig. Ich hab die .apk auf mein Sensation übertragen.
Jetz hab ich mir mal die AndroidManifest.xml an sich ist ja nicht besonders groß..

1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="de.test.hallo"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk android:minSdkVersion="13" />
8 <supports-screens android:anyDensity="true"
9 android:largeScreens="true"
10 android:smallScreens="true" />
11
12 <application
13 android:icon="@drawable/ic_launcher"
14 android:label="@string/app_name" >
15 <activity
16 android:label="@string/app_name"
17 android:name=".HelloWorkshopActivity" >
18 <intent-filter >
19 <action android:name="android.intent.action.MAIN" />
20
21 <category android:name="android.intent.category.LAUNCHER" />
22 </intent-filter>
23 </activity>
24 </application>
25
26</manifest>

San Blarnoi
  • Forum-Beiträge: 2.545

03.12.2011, 23:59:14 via Website

minSdkVersion="13"

Du hast Android 3.2 (oder höher) auf dem Sensation?

Simon Seeber
  • Forum-Beiträge: 27

04.12.2011, 00:09:42 via Website

Richtig. Im Moment 2.3.4

San Blarnoi
  • Forum-Beiträge: 2.545

04.12.2011, 00:49:22 via Website

Richtig.

Hm?
Lies die Frage nochmal, wenn du wieder bei der Sache bist ;)

Oder bezog sich das "Richtig" darauf, das du das Problem erkannt und behoben hast?

Simon Seeber
  • Forum-Beiträge: 27

04.12.2011, 01:08:23 via Website

*klatsch*
Ich brauch mehr Schlaf=) Aber den ruhigen bekomm ich jetzt erst :-D Jetzt hab ich das erst mal hinterblickt (Hatte keine Ahnung von API Levels ._.)
Vielen, vielen Dank für deine Geduld ^.^' Eigentlich bin ich nicht so schwer von Begriff aber wenn ich wo neu einsteig, meistens erst mal total planlos.
Naja ich hoffe, ich komme jetzt mal etwas besser voran :-D Aber erst mal eine gute Runde schlafen und dann mit frischem Geist ans Werk=)
Nochmals vielen Dank!

San Blarnoi
  • Forum-Beiträge: 2.545

04.12.2011, 10:40:36 via Website

Gerne :)

...und weil du das jetzt hinbekommen hast, gibts noch nen Bonus:
Solange du die Apps nur auf deinem Phone testen willst, kannst du sie auch direkt aus Eclipse heraus installieren/starten, und dafür brauchst du nicht einmal einen Keystore ;-)
Dazu musst du dir lediglich den passenden ADB-Treiber besorgen, auf dem Phone USB-Debugging aktivieren und evtl. die run config deines Projektes etwas anpassen, damit dein Phone statt des Emulators verwendet wird.

Tristan Geiser
  • Forum-Beiträge: 1

06.04.2015, 17:07:32 via Website

Jörg Voss
Verdammich .. klar, And Dev hat natürlich recht ... ich Blödmann hab da irgendwie den Connex verloren ..
Unsignierte Packete sind natürlich nicht installierbar

Natürlich geht dass mit --- kann die Installation von unsignirten Apps ermöglichen (Root erforderlich) -- [Man kann die Signatur überprüfung deaktivieren

Edit by Mod Pascal: Appname und Bild entfernt

— geändert am 06.04.2015, 17:22:48 durch Moderator

trixi
  • Forum-Beiträge: 27.509

06.04.2015, 17:15:17 via App

Hier braucht man für die Staubschicht ja schon ne Schaufel. Du hast nicht zufällig bemerkt, daß der Thread schon vier Jahre alt ist?

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.

It seems like Universe will win...

Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

06.04.2015, 17:29:46 via App

Da der Thread schon sehr alt ist mach ich hier mal zu.

LG Pascal //It's not a bug, it's a feature. :) ;)