3rd Party Widget Hintergrund ändern

FelixL

FelixL

Ehrenmitglied
821
Ich hab grad ewig hier im Forum und über Google gesucht, finde aber irgendwie keine eindeutige Antwort auf meine Fragen:
Ich soll für meine Freundin (Samsung Galaxy, root) die Hintergründe einiger Widgets ändern.

Im Fall 1 geht es um das Widget von Handcent. Hab erst mal via adb pull /data/app/com.handcent.nextsms-1.apk das Ding runterkopiert. Dann das .apk in .zip umbenannt, die Hintergrunddatei gesucht, gefunden und bearbeitet. Dann wieder in den zip-Ordner gespeichert, zurück umbenannt in .apk. Wie muss ich jetzt weitermachen, damit Handcent trotzdem noch im Market bleibt? Ich weiß, bei einem Update ist die Veränderung dann weg. Aber die neueste Version zu haben ist wichtiger als das Aussehen :p.
Was ich im Internet gefunden habe war leider meistens für System-Apps bestimmt, und nicht für Market-Apps. Auch hier im Forum heißt es push zurück in das Verzeichnis, dann permission auf 644 setzen und reboot. Hab das gemacht, permissions mit chmod auf 644 gesetzt und neu gestartet. Danach fand er Handcent nicht mehr, ich hatte zu Glück ein Nandroid gemacht. Einfach über einen File-Manager installieren geht auch nicht, wegen der fehlenden Signatur. Wenn ich es selbst signieren würde, könnte ich trotzdem nicht den Market-Link behalten.
Also, hat jemand nen Tipp?


Im Fall 2 geht es um das News-Widget, da soll der Hintergrund auch halb-durchsichtig werden. Hier sollte es aber nicht so Probleme geben wie bei Handcent, oder?
 
*push*
 
Das .apk nicht zwischendurch in .zip umzubenennen bringt auch nichts :/

Wenn ich es über einen File-Manager installieren will bricht das ab, wenn ich adb push nehme ist das App nach dem reboot weg.
 
Zuletzt bearbeitet:
Okay,es scheint nicht möglich zu sein das eine App geändert wird und im Market bleibt -.-

How-To Change the Icons on every Application - Android @ MoDaCo

Wenn jemand ne Ahnung hat wie das gehen soll sagt Bescheid...
Höchstens indem jemand der ein Android-Phone hat darauf ein App installiert das die .apks immer nach jedem Update zieht, an einen Server schickt, dort werden automatisch die Bildchen getauscht, die App neu gesignt, und an eine Ersatz-Market-App auf den Empfänger-Handys verteilt. Rechtlich auch nicht so sauber -.-
 
android-apktool - Project Hosting on Google Code

Code:
Dekompilieren> apktool d dein-app.apk out_ordner
Bearbeiten.
Kompilieren> apktool b out_ordner dein-app.apk

Signieren:
jarsigner -verbose -keystore D:\wo\auch\immer\Dein_public.key dein-app.apk Dein_key_name
zipalign -v 4 dein-app-signiert.apk
Dann noch per adb install dein-app-signiert.apk installieren und es sollte trotzdem noch über den Markte updatebar sein ;-)
(Natürlich die alte Version zuerst entfernen!)

Jarsigner & zipalign sind teil des SDK /JDK. Deinen public Key erstellst du dir auch mit dem Jarsigner.
Signing Your Applications | Android Developers
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: FelixL
(Natürlich die alte Version zuerst entfernen!)

Darum geht es ja. Der Link im Market soll erhalten bleiben damit man merkt wenn es ein Update gibt, und wenn ich vorher deinstallieren muss ist der Link wech.
Vielleicht geht es mit der Titanium-Vollversion (Restore Market-Link)... oder ich schau einfach alle Woche in den Market auf die Versionsnummer :/
 
ohhh man o.O
Es bleibt erhalten...
 
Ich hab grad nen Hänger.
a) ist mein jarsigner nicht da wo er hingehört:
C:\Program Files\Java\jre6\bin\jarsigner
keytool ist aber da.
Über Eclipse kann ich aber anscheinend noch apks bauen und signieren, er gibt keine Fehlermeldung. Ich weiß nur nicht ob es signiert ist. teste ich gleich, denn wenn ja, muss der jarsigner ja noch irgendwo sein.
b) wie stellst du dir den Ablauf vor?

Dann noch per adb install dein-app-signiert.apk installieren und es sollte trotzdem noch über den Market updatebar sein ;-)
(Natürlich die alte Version zuerst entfernen!)
Meinst du die alte Version vor dem nächsten Update aus den Market entfernen oder die alte Version vor dem Installieren meiner App entfernen?
Wenn letzteres, wie soll ich das dann, ohne das der Market mitbekommt das ich es deinstalliert hab?
 
Jarsigner ist im sdk nicht im jdk:
C:\Program Files\Java\jdk1.6\bin\jarsigner.exe

Du musst zuerst das jdk installieren.
Java SE Downloads - Sun Developer Network (SDN)

b)

Das neue Update sollte dann im Market sichtbar sein. Aber ein update wird fehlschlagen.
Entferne vorher die modifizierte Version, installiere die neue und ändere sie wieder.
Ist leider mühsam aber ich mach das auch immer mit einigen Apps die mich nerven.
 
  • Danke
Reaktionen: FelixL
Gut, bei b glaub ich dir jetzt mal, danke ;)
zu a)
Jarsigner ist im sdk nicht im jdk:
C:\Program Files\Java\jdk1.6\bin\jarsigner.exe
Meinst du mit SDK das Android SDK?
Jetzt bin ich erst recht verwirrt.
Schließlich funktioniert es über Eclipse, (hab es gerade nochmal getestet, eine meiner Apps lässt sich von der Speicherkarte installieren, frisch gesignt). Also ist der jarsigner auf jeden Fall irgendwo da.
If you will release your application to the public, you will also need to have the Jarsigner tool available on your machine. Both Jarsigner and Keytool are included in the JDK.
Signing Your Applications | Android Developers
Laut Internet müsste es sogar im selben Ordner wie das Keytool sein.
Ich überleg morgen früh weiter, danke schonmal soweit.
 
Es gibt 2 Versionen von Java:
jre = java runtime environment
jdk = java development kit

Du brauchst das jdk hast aber das jre.
Das JDK gibst hier:
Java SE Downloads - Sun Developer Network (SDN)

Eclipse hat vermutlich einen Internen Signer.
 
  • Danke
Reaktionen: FelixL
Gut, hab das jdk installiert, jarsigner funktioniert, zipalign auch,
dann:

C:\Users\Felix\Setups\android-sdk_r04-windows\android-sdk-windows\tools>adb inst
all C:\Users\Felix\com.handcent.nextsms-1\dist\com.handcent.nextsms-1.signed.apk

1139 KB/s (1602070 bytes in 1.372s)
pkg: /data/local/tmp/com.handcent.nextsms-1.signed.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]

C:\Users\Felix\Setups\android-sdk_r04-windows\android-sdk-windows\tools>adb inst
all C:\Users\Felix\com.handcent.nextsms-1\dist\com.handcent.nextsms-1.apk
1303 KB/s (1602070 bytes in 1.200s)
pkg: /data/local/tmp/com.handcent.nextsms-1.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]

C:\Users\Felix\Setups\android-sdk_r04-windows\android-sdk-windows\tools>adb inst
all -r C:\Users\Felix\com.handcent.nextsms-1\dist\com.handcent.nextsms-1.apk
1185 KB/s (1602070 bytes in 1.320s)
pkg: /data/local/tmp/com.handcent.nextsms-1.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

C:\Users\Felix\Setups\android-sdk_r04-windows\android-sdk-windows\tools>

Für den 2. Versuch hab ich die .apk wieder in den originalzustand umbenannt, für den dritten -r benutzt, was für reinstall steht. Dann passen aber die Signaturen nicht.

Edit: wenn vorher Handcent deinstalliert wurde funktioniert alles, das Widget sieht wie gewünscht aus.
 
Zuletzt bearbeitet:
O man, mir fällt gerade auf das er es als installiert anzeigt!
Danke Danke Danke :)
 

Anhänge

  • device.png
    device.png
    44,7 KB · Aufrufe: 608
Zuletzt bearbeitet:

Ähnliche Themen

M
Antworten
0
Aufrufe
284
Mirkan
M
Phintor
Antworten
0
Aufrufe
607
Phintor
Phintor
F
Antworten
1
Aufrufe
768
Faithhope
F
Zurück
Oben Unten