[Anleitung] PDroid Patches fuer ICS/JB erstellen mit Cygwin

  • 474 Antworten
  • Letztes Antwortdatum
Ich habe diesen Autopatcher mit GUI getestet und für sehr gut befunden. Das macht vieles einfacher, da auch gleich immer die einzelnen Programme aktualisiert werden.
Und keiner muss mehr vor cygwin, win zurück schrecken.
Was mir noch nicht ganz klar ist, warum kann ich bei cm10 Roms für das nexus7 nur die Optionen supercharger und pdroid auswählen.

Ich verzweifel nur gerade daran das paranoid 2.11 cm10 rom für das Nexus 7 zu patchen, was wohl an dem framework2.jar liegen soll?

Cheers

Gesendet von meinem Nexus 7 mit Tapatalk 2
 
@horqai: Ich vermute mal, die Autopatcher GU spuckt gleich die gepatchte ROM.zip aus; man muss nicht mehr die update.zip nachjagen, oder?

Gruß

Klaus
 
Nein leider nicht, wenn der Autopatcher die framework.jar wieder kompilieren will bricht der Vorgang ab. Laut dem analogen xda forum liegt es wohl an der 2. framework Datei.
This is actually a real pain in the ass. If you open your custom roms like CM10, you will notice that they have a framework2.jar that stock roms do not have. That is because Google had packed the framework.jar so full of code that it was right up against Java's method cap, leaving no room for further customization.

CM's hotfix for this was to create framework2.jar and move some of the methods there. To bring PDroid to aosp-jb, we actually had to mimic this process on a smali level, kind of a crazy process, where we have to modify the boot classpath in the ramdisk and create the framework2.jar from whole cloth.

I cannot say at this point if it is CM or PA that has continued to pack more methods into framework.jar but it is a shame considering framework2,jar is just sitting there at under 100kb, all the room in the damn world.

Point is, we need to add ~250 methods to framework.jar in order for PDroid to operate. That is why the patching is so complicated for this mod, it is no little change to completely divert permission data streams.

As of this release, for this device at least, we cannot now add PDroid. I will look into moving actual methods and classes, but we won't be following CM or Google's lead on this one. This is going to be virgin territory, so keep yr fingers crossed.

Unless pastime sees this differently?

Witziger weise konnte ich die aktuelle CM10 nightly für das N7 trotz vorhandener framework2.jar patchen - blicke da ehrlich nicht mehr durch?

Gesendet von meinem Nexus 7 mit Tapatalk 2
 
Zuletzt bearbeitet:
Habe das mal mit dem GUI getestet, soll funktioniert haben laut Programm.

Wird iwie eine neue .zip erstellt? bzw kann ich aufm handy iwie testen, ob meine FW gepatcht wurde?


Kann Pdroid ausm Store nicht laden, kommt immer die Meldung:" der Artikel den sie kaufen wollten, konnte nicht gefunden werden"
 
@Redbull320:

Hallo!

Ist das ne Firmware.zip oder ne update.zip?

Gruß

Klaus

Der ursprüngliche Beitrag von 21:49 Uhr wurde um 21:51 Uhr ergänzt:

Lad Dir doch PDroid einfach von finnq's server runter:

Apps
 
Hey denke, ne Firmware zip.

Ist ne AOKP und das System wird immer gewiped.

Hmm leider sagt die app dass ich kein Patch habe :/

Sent from my Galaxy S2 running AOKP
 
Es werden zwei Dateien erstellt.

Update.zip flashen, um den Patch einzuspielen und Restore.zip wird geflasht, wenn der Patch entfernt werden soll.

Sent from SGS II powered by PARANOIDANDROID
 
Mit PARANOIDANDROID 2.11 klappt es nicht mehr...

Gesendet von meinem PARANOIDEN Xperia Pro mit Jelly Bean.
 
pro.aggro schrieb:
Es werden zwei Dateien erstellt.

Update.zip flashen, um den Patch einzuspielen und Restore.zip wird geflasht, wenn der Patch entfernt werden soll.

Sent from SGS II powered by PARANOIDANDROID

Wo finde ich die? ^^

Sent from my Galaxy S2 running AOKP
 
Wenn du alles nach der Anleitung im ersten Post machst, dann sollten die in dem Ordner "autopatcherDATE&VERSION/ap" liegen.
 
Naja habe es mit der Neuen GUi gemacht :b
aber ich schau später mal nach, sobald ich Zuhause bin :)
Danke

Sent from my Galaxy S2 running AOKP
 
Hast du mal einen Link dazu?
 
Guck im Pdroid XDA Thread.

Seit knapp ner Woche bringt der User jeden tag n aktualisierte Version raus, dürfte nicht so schwer zu finden sein :)

Sent from my Galaxy S2 running AOKP
 
Hey Leute,
hat jmd die cm10 von gestern oder heute schon gepatcht. Bei mir will das nicht mehr klappen. Bis zur Nightly vom 11.09. gings noch.

Wenn ja, mit welcher Version des Autopatchers hat es geklappt?

Danke :)

Gruß

Klaus

Gesendet von meinem GT-I9100 mit der Android-Hilfe.de App
 
Habs gefunden. Dachte es gibt dafür einen eigenen Thread und hab nur die Startseite des Autopatchers überflogen, dann habe ich genau geguckt und den Link zum Post entdeckt.

Sent from SGS II powered by PARANOIDANDROID
 
@pro.aggro:

Mahlzeit!

Sag mal, welche ROM verwendest Du? CM10? Wenn ja, sag doch Bescheid, ob's patchen für PDroid gefunzt hat!

Bei mir klappt das nicht mehr seit der Nightly vom 13.09.; bis zur Nightly vom 11.09. gings noch wunderbar...

Danke!

Gruß

Klaus
 
Zur Zeit die Paranoid 2.1 (CMX), da hat es noch geklappt.
Mit der neusten Nightly geht es nicht. Steht auch im Autopatcher Thread.
Gibt bestimmt bald ein Update.

Sent from SGS II powered by PARANOIDANDROID
 
  • Danke
Reaktionen: Klaus N.
Edit:

Die Log-Datei sieht so aus:

ROOT= /cygdrive/d/Downloads/ApGPackages/ap/
TOOL= /cygdrive/d/Downloads/ApGPackages/ap//patch_tools.tgz
ROM= /cygdrive/d/Downloads/ApGPackages/ap/cm-10-20120914-NIGHTLY-i9100.zip
ROMX= D:\DOWNLO~1\APGPAC~1\ap\CM-10-~1.ZIP

### verify tools ###
/cygdrive/d/Downloads/ApGPackages/cygwin/bin/patch
/cygdrive/d/Downloads/ApGPackages/cygwin/bin/tar
/cygdrive/d/Downloads/ApGPackages/Java/bin/jar
/cygdrive/d/Downloads/ApGPackages/Java/bin/java
/cygdrive/d/Downloads/ApGPackages/cygwin/bin/cpio

### verify ROM ###
# running ./auto_patcher /cygdrive/d/Downloads/ApGPackages/ap/cm-10-20120914-NIGHTLY-i9100.zip pdroid cm10
PATH= /cygdrive/d/Downloads/ApGPackages/ap/tmp20120914160549:/cygdrive/d/Downloads/ApGPackages/Java/bin:/cygdrive/d/Downloads/ApGPackages/cygwin/bin:/cygdrive/d/Downloads/ApGPackages/cygwin/usr/sbin

### unzip patch tools ###
aapt
aapt.exe
apktool.jar
baksmali.jar
signapk.jar
smali.jar
updatecert.pem
updatekey.pk8
boot/
boot/mkbootimg.exe
boot/unpackbootimg
boot/mkbootfs.exe
boot/unpackbootimg.exe
boot/mkbootimg
boot/mkbootfs

### unzip patch patches ###
# VID=
# MID=
# RID= cm10
# DID=
# BID= latest
# PID= pdroid
### JAR FILES= system/framework/framework.jar system/framework/core.jar system/framework/services.jar
### APK FILES=
### COPY FILES=
### BOOTIMG=

### unzip rom ###

### create updater script ###

... using Clockworkmod installer ...
# generated updater-script
mount("ext4", "EMMC", "/dev/block/mmcblk0p9", "/system");
package_extract_dir("system", "/system");
unmount("/system");

### create restore.zip ###
Manifest wurde hinzugefügt
system/framework/framework.jar wird hinzugefügt(ein = 4292652) (aus = 4266533)(0 % verkleinert)
system/framework/core.jar wird hinzugefügt(ein = 1290462) (aus = 1283717)(0 % verkleinert)
system/framework/services.jar wird hinzugefügt(ein = 971735) (aus = 969999)(0 % verkleinert)
Eintrag META-INF/ wird ignoriert
META-INF/com/ wird hinzugefügt(ein = 0) (aus = 0)(0 % gespeichert)
META-INF/com/google/ wird hinzugefügt(ein = 0) (aus = 0)(0 % gespeichert)
META-INF/com/google/android/ wird hinzugefügt(ein = 0) (aus = 0)(0 % gespeichert)
META-INF/com/google/android/update-binary wird hinzugefügt(ein = 230052) (aus = 148965)(35 % verkleinert)
META-INF/com/google/android/updater-script wird hinzugefügt(ein = 120) (aus = 85)(29 % verkleinert)

### decompile system files ###

... decompile framework.jar ...

... extract preloaded-classes ...
\vergrößert: preloaded-classes

... decompile core.jar ...

... decompile services.jar ...

### copy patch pdroid/cm10/latest ###

### jar patch pdroid/cm10/latest ###

... apply framework.patch ...
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file smali/android/location/Location.smali.rej
Reversed (or previously applied) patch detected! Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file smali/android/widget/AppSecurityPermissions.smali.rej

... apply preloaded.patch ...
GARBAGE=
GARBAGE= tmp/system/framework/framework.jar.out/smali/android/location/Location.smali.rej tmp/system/framework/framework.jar.out/smali/android/widget/AppSecurityPermissions.smali.rej

... apply core.patch ...
GARBAGE=
GARBAGE=

... apply services.patch ...
GARBAGE=
GARBAGE=

### apk patch pdroid/cm10/latest ###

### rebuild jar ###

... rebuild framework.jar ...

UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: method index is too large.
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithContext.java:54)
at org.jf.dexlib.Item.addExceptionContext(Item.java:177)
at org.jf.dexlib.Item.writeTo(Item.java:120)
at org.jf.dexlib.Section.writeTo(Section.java:119)
at org.jf.dexlib.DexFile.writeTo(DexFile.java:716)
at org.jf.smali.main.main(main.java:231)
Caused by: java.lang.RuntimeException: method index is too large.
at org.jf.dexlib.Code.Format.Instruction35c.writeInstruction(Instruction35c.java:102)
at org.jf.dexlib.Code.Instruction.write(Instruction.java:57)
at org.jf.dexlib.CodeItem.writeItem(CodeItem.java:258)
at org.jf.dexlib.Item.writeTo(Item.java:117)
... 3 more
code_item @0x3cf168 (Landroid/util/LongSparseArray;->clone()Landroid/util/LongSparseArray;)

Weiß echt langsam nicht mehr weiter :(

Der ursprüngliche Beitrag von 16:15 Uhr wurde um 16:16 Uhr ergänzt:

Danke pro.aggro, das hab ich dann überlesen. Dann heißt es wohl abwarten und Kaffee trinken ;)
 

Ähnliche Themen

S
Antworten
11
Aufrufe
316
Klaus986
K
TomHH
Antworten
5
Aufrufe
539
TomHH
TomHH
Zurück
Oben Unten