App wird nicht installiert

Z

zumafx

Fortgeschrittenes Mitglied
58
Moin :)
So langsam habe ich meine App nun fertig und wollte die neuste "signed apk" nun
per Email senden und dann durch den Paket-installer installieren.
Die installation wird auch angeboten, zuerst kommt ein Hinweis, das die Anwendung
eine andere ersetzt (klar, es ist erste Version schon drauf), es werden die
erforderlichen Berechtigungen angezeigt und dann drück ich "installieren".
Es kommt kurz ein Progressbalken und dann "Anwendung nicht installiert" :(
Liegt das nun nur an meiner bereits vorhandenen Debug-Version, die in
"/data/local/tmp/com.paketname.appname" installiert wird beim debuggen
und die per Email gesendete Version in einem andern Pfad abgelegt werden soll ?
Mein Handy ist ungerootet, daher hab ich keine Ahnung, wo genau die "nicht-debug-Version" installiert wird.
Wenn ja, wie kann ich die neue installieren, ohne die andere zu deinstallieren ?
Ich habe zum Testen sehr viele Daten eingegeben und das hat mich Stunden gekostet,
daher möchte ich die beim deinstallieren nicht verlieren.
Hab da nix zu gefunden bzw. hab evtl. mal wieder ein Brett vorm Kopf für die
richtigen Suchbegriffe.

p.s. Nicht market-apps ist natürlich aktiviert
 
Man kann eine App nur dann durch eine App mit gleichem Paketnamen ersetzen (mit anderen Worten: updaten), wenn sie mit dem selben Schlüssel signiert ist. Da Debug/Develop Version und Release Version unterschiedliche Schlüssel haben, geht es nicht. Du musst vorher die Devel Version deinstallieren. Da führt kein Weg drum herum.

Wenn du die Daten nicht verlieren willst, musst du wohl eine export/import Funktion basteln, die in der Debug Version nutzen (geht wegen gleichem schlüssel) dann deinstallieren, dann Release installieren und dann importieren. Ja nach App kannst du auch die db Dateien per adb aus der App ziehen (bin mir aber nicht sicher, ob man das ohne root kann).
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: zumafx
Weiteres:
Du kannst, sofern du mit Android Studio und Gradle arbeitest, auch für die debug Version einen anderen Paketnamen verwenden.

Hier zum Beispiel wie ich das gemacht habe:
https://github.com/dkunzler/masterpassword/blob/master/app/build.gradle

Dort wird unten bei buildTypes unter debug noch das Suffix .debug an den Paketnamen angehängt.
Damit kann ich die debug und die release Version parallel installieren. (Mit allen Konsequenzen, also komplett disjunkte Daten etc)
 
  • Danke
Reaktionen: zumafx
danke euch beiden. so was hab ich mir ja schon gedacht ... nuja, zumindest für die "dickste" Tabelle
ist eh eine Exportfunktion drin. Dann werde ich mir wohl noch ein paar Dateien erzeugen und
dann eine Importfunktion basteln, die benutzen und dann wieder rauswerfen, da die in der Release nicht vorgesehen ist/sein soll.
Und ja, ich arbeite mit AndroidStudio und Gradle (wobei ich zugeben muss,
das mit Gradle mir noch nicht näher angeguckt zu haben, sondern es einfach nur benutze ;) )

@DieGoldeneMitte:
da ich mit dem Device Monitor/FileExplorer die DB nicht finden kann, gehe ich mal davon aus, das ich an die DB ungerootet nicht ran komme.

@deek:
das geht aber nur "vorher" und nicht mehr nachträglich, nicht wahr ?
Aber danke für den Link, werde ich mir mal für die Zukunft anschauen.
 
Richtig, im Prinzip geht das nur vorher. Aber wenn du jetzt eh deinen Import und Export bastelst könntest du es auch noch so machen wenn du beide Versionen parallel brauchst.
 

Ähnliche Themen

Manny87
  • Manny87
Antworten
11
Aufrufe
196
swa00
swa00
E
  • evgkop
Antworten
3
Aufrufe
133
swa00
swa00
M
  • MikelKatzengreis
Antworten
10
Aufrufe
252
swa00
swa00
Zurück
Oben Unten