Hello everybody,
Here is the unyaffs tool for Windows including the latest cygwin1.dll to get it working without having to install Cygwin !
This tool can extract *.img (YAFFS) android files.
This is a command-line utility.
Usage: open cmd, go to unyaffs.exe folder and type: unyaffs image_file_name
DOWNLOAD on Mediafire
Over 900 downloads !
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sources : unyaffs project, Cygwin
adridu59 said:
Hello everybody,
Here is the unyaffs tool for Windows including the latest cygwin1.dll to get it working without having to install Cygwin !
This tool can extract *.img (YAFFS) android files.
This is a command-line utility.
Usage: open cmd, go to unyaffs.exe folder and type unyaffs image_file_name
DOWNLOAD on Mediafire
PLEASE CLICK ON THE THANKS BUTTON IF THAT HELPED.
Click to expand...
Click to collapse
What did you use to compile it on Windows?
Droidzone said:
What did you use to compile it on Windows?
Click to expand...
Click to collapse
I didn't compile it, just downloaded unyaffs binaries and grabbed Cygwin dll from cygwin binaries.
Very simple stuff but I'm not sure everyone will think to do it. Installing Cygwin is a pain, this way is much more simpler.
Cant get this to work get a STATUS_ACCESS_VIOLATION at eip=004010B0 error,have tried various tutorials/sources and just cannot get it to work
EDIT I am too stupid to get this to work,managed to get what I needed extracted by using ext2explore.
adridu59 said:
I didn't compile it, just downloaded latest unyaffs binaries and grabbed Cygwin dll from cygwin binaries.
Very simple stuff but I'm not sure everyone will think to do it. Installing Cygwin is a pain, this way is much more simpler.
Click to expand...
Click to collapse
a) Well if you didn't compile it, where did you get the binaries from? (And who compiled them, what version etc.??) Give us a link!
b) Cygwin is generally a piece of cake to install! But it doesn't contain any YAFFS binaries or sources!
So what have you been doing dude, and why should we trust your stuff??
To everyone: I would NOT run any exe from this guy, unless he can show his sources and what he did.
E:V:A said:
a) Well if you didn't compile it, where did you get the binaries from? (And who compiled them, what version etc.??) Give us a link!
b) Cygwin is generally a piece of cake to install! But it doesn't contain any YAFFS binaries or sources!
So what have you been doing dude, and why should we trust your stuff??
To everyone: I would NOT run any exe from this guy, unless he can show his sources and what he did.
Click to expand...
Click to collapse
Are you one of those purists who only run selfcompiled code ?
Unyaffs tool needs Cygwin dll to run on Windows.
"What version" --> There is only one release from Dec 2008 if you took some time for looking at project page.
Now next time be less aggresive and stop calling me "this guy", thanks in advance.
if you dont trust him why u even post on this thread about his work?
bs828 said:
if you dont trust him why u even post on this thread about his work?
Click to expand...
Click to collapse
I think he wanted to get thanked. Ridiculous.
Give me a verification post and this will be my img recompile tool.!
I don't believe in bashing anyone, I think he is trying to make a name for himself like everyone else, credits to you dude, but I'm gonna hold back trying this out until I get just a little more info on it. Great work ahead of time though dude.!
Sent from my PG86100 using XDA App
He judged my exe too....
ognimnella said:
Give me a verification post and this will be my img recompile tool.!
Click to expand...
Click to collapse
What do you mean ?
Download official unyaffs and official Cygwin if you are afraid.
Sent from my MT15i
This is great! It worked when unpacking a system.img from SDK but not my system.img I made with Fruit Cake Maker
Here is the stackdump I got when trying
Any help is appreciated thank you
adridu59 said:
What do you mean ?
Download official unyaffs and official Cygwin if you are afraid.
Sent from my MT15i
Click to expand...
Click to collapse
I mean gimme a post saying it works.!
Sent from my HTC EVO 3D using XDA App
fergie716 said:
This is great! It worked when unpacking a system.img from SDK but not my system.img I made with Fruit Cake Maker
Here is the stackdump I got when trying
Click to expand...
Click to collapse
I do not provide support, sorry.
Slight bump.
Is not necessary to install Cygwin. It's enough Cygwin.dll.
There are some new structure for YAFFS file iamge (ex. 8192 bytes /segment and 448 bytes /spare)
The new utility (unyaffs) can support it, but if you want to recompile it should be encessary also makeyaffs (and it should be run under Linux - not under Windows)
Some link about other utils
Unyaffs /ehlers) - source: https://github.com/ehlers/unyaffs
To compile under Windows it's quite simple.
Install Cygwinwin (downlaod http://cygwin.com/setup.exe and run it).
As modules select: "gcc", "gdb" and "make".
Create a folder under "/Cygwin/home/@username" and put here the program source.
Run Cygwin. Go to the source directory. Run "make". You will have the .exe file compiled.
Copy the compiled .exe file plus CYGWIN.DLL (available in \CYGWIN) and in other folder and you can run utility.
Other usefull tools: http://code.google.com/p/yaffs2utils/
I tried to unyaff the system.img from the HTC Desire C RUU. This is the error it gave me, and I don't know why.
Exception: STATUS_ACCESS_VIOLATION at eip=004010B0
eax=00010000 ebx=00000001 ecx=FFFFFFFD edx=00AB13FA esi=0040130E edi=610E21A0
ebp=0028EE88 esp=0028EE50 program=C:\Users\Andu\Desktop\unyaffs\unyaffs.exe, pid 6012, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
0028EE88 004010B0 (0028EEE9, 00000000, 00000000, 00401333)
0028EEB8 004013AF (00000002, 00AB0190, 00AB0090, 610A5E22)
0028EFA8 61004DD2 (0028EFC0, FFFFFFFF, 007DA588, 007B00C4)
0028FF58 6100594F (00000000, 00000000, 00000000, 00000000)
End of stack trace
I tried running cmd as Admin, same error.
abaaaabbbb63 said:
I tried to unyaff the system.img from the HTC Desire C RUU. This is the error it gave me, and I don't know why.
Exception: STATUS_ACCESS_VIOLATION at eip=004010B0
eax=00010000 ebx=00000001 ecx=FFFFFFFD edx=00AB13FA esi=0040130E edi=610E21A0
ebp=0028EE88 esp=0028EE50 program=C:\Users\Andu\Desktop\unyaffs\unyaffs.exe, pid 6012, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
0028EE88 004010B0 (0028EEE9, 00000000, 00000000, 00401333)
0028EEB8 004013AF (00000002, 00AB0190, 00AB0090, 610A5E22)
0028EFA8 61004DD2 (0028EFC0, FFFFFFFF, 007DA588, 007B00C4)
0028FF58 6100594F (00000000, 00000000, 00000000, 00000000)
End of stack trace
I tried running cmd as Admin, same error.
Click to expand...
Click to collapse
I too got an error like this
???
ROM>unyaffs system.img
140 [main] unyaffs 1192 handle_exceptions: Exception: STATUS_ACCESS_VIOLATIO
N
1064 [main] unyaffs 1192 open_stackdumpfile: Dumping stack trace to unyaffs.e
xe.stackdump
????
plz help
Yea...you got that because system.img is an ext type file, not a yaffs. Search for an ext explorer.
Sent from my toaster
This utility acts weird when I have ran it first time.
- It has hidden all processes in my task manager and procexplorer (systernals),
- ProcMon (systernals) was showing that process is hooked to system32/wow64 and registry
- it raised 6 (out of 44) cores of my CPU to 100%
- I couldn't exit nor kill command windows. As I run windows server 2016 which is very reliable I find strange that one can't kill a command window.
After reboot:
- I moved this into vmware to analyze with olidbg but then it behaved as it should.
- olydbg shows that exe imports kernel dlls which is unusuall since cygwin provides integration with the OS.
My feeling:
- I would not use this exe again.
- When I see communication between member who provided it and others, I trust it less.
Related
For those who want a tutorial, here's my experience in installing the system:
(PS: FOR those who want a really simple command-by-command tutorial, please see #26 post. That's part 1 of the tutorial on how to boot ubuntu up without wireless. If you need wireless working and want a command-by-command tutorial on that, just reply and I'll make it. )
I mainly referred to sp3dev's thread: http://forum.xda-developers.com/showthread.php?t=1158260
I've make ubuntu run on my iconia, but I cannot let bluetooth run so you'd better have a usb keyboard and (if you could find the trick to use the touch screen, no need of) a usb mouse.
Tools to prepare:
1. Ubuntu OS on PC with adb tool.
2. A >=4GB microSD card and make sure iconia can identify it.
3. USB keyboard and USB mouse
4. rooted iconia with acer recovery installer, busybox, terminal emulator.
5. Perhaps more that I didn't listed
Files to download:
1. rootfs: http://www.dmmhosting.co.uk/tegra-rootfs.tar from Digitaldaz;
2. precompiled header: http://www.mediafire.com/?ucvk6x66129igzc from sp3dev;
3. itsmagic: http://forum.xda-developers.com/showthread.php?t=1121543&highlight=itsmagic from sc2k;
4. source code: https://github.com/astarasikov/iconia-gnu-kernel from sp3dev;
5. Perhaps more that I didn't listed
Procedure to install ubuntu:
1. Use your computer to format your microSD card into two partitions: one is in FAT32, to be used as normal external storage. Suggested minimum size is 1GB, to store backup file in step 2. The other is ext4, to store root filesystem of ubuntu. Suggested minimum size is 3GB. Tools: fdisk, mkfs.vfat, mkfs.ext4. Using sudo when making filesystem. Refer to rkaszala's post for further information: http://forum.xda-developers.com/showthread.php?t=1158260&highlight=itsmagic&page=12
(Comment: I use computer to format while he/she uses iconia to format.)
Make sure the formatted sdcard can be recognized by iconia as /dev/block/mmcblk1p1 and /dev/block/mmcblk1p2 .
2. Backup all data using itsmagic link above. Be familiar with usage of itsmagic, esp. use it to recalculate the checksum.
3. use tools here: http://forum.xda-developers.com/showthread.php?t=1126364 to flash the newrec.img file onto the /dev/block/mmcblk0p1, and use itsmagic to recalculate checksum.
3.1. on android system, use terminal emulator to copy /system/etc/nvram.txt out as bcm4329-fullmac-4.txt .
4. USING SUDO to unzip the rootfs tarball referred in Files:1 into the ext4 fs mentioned in step 1. If you do not use sudo, some device nodes will not be able to be created.
5. SUDO EDIT the etc/fstab IN YOUR UNZIPPED ROOT FILESYSTEM NOT IN YOUR OWN UBUNTU SYSTEM to one line:
proc /proc proc defaults 0 0
6. compile source code using instructions by sp3dev here: http://forum.xda-developers.com/showthread.php?t=1158260&highlight=itsmagic&page=9 in the middle part of the page.
7. copy the compiled bcm4329-fullmac-4.bin firmware (should be at lib/firmware/brcm/) to sdcard's root filesystem's location: /lib/firmware/brcm/ folder and copy the previous bcm4329-fullmac-4.txt here.
8. copy the compiled modules into sdcard's root filesystem's /lib/modules/ (I forget the name of the folder so be sure to name it correctly. )
9. insert the sdcard into iconia and reboot with wolume down key pressed (the way to boot into recovery img.)
and now, you should have reached what I have reached.
If you failed on some step please tell me. All I summarized is what I have done, so please refer to their original post for more information.
impressive...
Can you make more detailed tutorial?
can you make video tutorial, because some people don't understand how to do this things. Sorry for bad english
Tautvaldas said:
can you make video tutorial, because some people don't understand how to do this things. Sorry for bad english
Click to expand...
Click to collapse
My opinion: tutorial in first post is good enough. If someone don't understand is better not to try!
PhilipZ said:
My opinion: tutorial in first post is good enough. If someone don't understand is better not to try!
Click to expand...
Click to collapse
Sorry if I've missed something here but I didn't realize your comprehension ability was the benchmark for tutorials being "good enough"
Troll or not, I hate attitudes like this. If everybody followed this line of thought we'd still be in the stone ages.
The whole purpose of a tutorial is to show people how to do something that is outside of there general knowledge. If adding more details to a tutorial will allow it to be useful a wider audience then surely that can only be a good thing for knowledge sharing and the author.
A video tutorial, if somebody can spare the time of course, would be great.
Hi guys:
Sorry I'm really busy these days so I didn't have time to give more detail on that. This weekend I will reinstall the ubuntu on my Iconia and will post a more detailed command by command tutorial here. I don't have a camera nor a phone with good camera so I'm afraid I cannot make a video, but if u have any question pls just reply here and I will get an email notification and I'll reach back asap.
The installation is tough yet exciting so I understand your feeling of getting ubuntu running on your iconia, but my word now is don't expect too much, it's just running yet still slow and I didn't patch some drivers on (At least now I cannot get bluetooth and nvidia drivers work but wifi works!).
Anyway, even if you're new here, I recommend you to read the links I posted above as they're good place to learn stuff.
sirzen said:
Hi guys:
This weekend I will reinstall the ubuntu on my Iconia and will post a more detailed command by command tutorial here.
Click to expand...
Click to collapse
Thank you! We are waiting
You used rootfs from Digitaldaz or from rkaszala ?
(Sorry for my english)
I'm planning a video tutorial once I work the bugs out, right now still having wifi (it loads firmware but I'm not offered any networks, it statys "disabled") issues, and I'm working it out on Ubuntu 10.10 which doesn't have unity, unity is a POS, requires far too much of the gpu, and for our tab we can live without.
wish me luck!
Nice thread i am still working thru the wireless card issues
You cleaned up most of thenative linux thread nicely. I am still struggling with wifi. I made a 250mb rootfs trying for minimalize size
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
rkaszala said:
Nice thread i am still working thru the wireless card issues
You cleaned up most of thenative linux thread nicely. I am still struggling with wifi. I made a 250mb rootfs trying for minimalize size
Click to expand...
Click to collapse
Noob question!
Can I use all 2gb SD Card to ext partition,and will linux fit in >2gb ?
Currently I'm using the one from Digitaldaz since I have not get a usable rootfs, but I strongly suggest u to use something built by yourself if you could.
ZeRo_samdroid said:
Thank you! We are waiting
You used rootfs from Digitaldaz or from rkaszala ?
(Sorry for my english)
Click to expand...
Click to collapse
I originally couldnt get the rootfs posted by Digitaldaz to untar tons of symlink errors. So i installed Ubuntu 11 on a desktop , built rootfs using rootstock.
Cool......
rkaszala said:
I originally couldnt get the rootfs posted by Digitaldaz to untar tons of symlink errors. So i installed Ubuntu 11 on a desktop , built rootfs using rootstock.
Click to expand...
Click to collapse
Still havent been able to get the wireless to work, found out that the brcm-bcm4399 had to remove the brcm- from the front. No more firmware errors. just not getting any wlan0 , when i dmesg | gregp brcm no errors there. Any ideas what to try now?
Get your wifi working? I did the bcm4329-fullmac-4.bin and nvram > bcm4329-fullmac-4.txt and then copied the 2 .fw files from the github. I am still not having any luck with wifi.
Wifi Update,
rfkill listall showed the wifi blocked , odd. So i did a rkfill unblock wifi and now i can get the wlan0 to ifup. But using wicd both wext and nl80211 i cant get it to do anything. thoughts?
rkaszala said:
Get your wifi working? I did the bcm4329-fullmac-4.bin and nvram > bcm4329-fullmac-4.txt and then copied the 2 .fw files from the github. I am still not having any luck with wifi.
Wifi Update,
rfkill listall showed the wifi blocked , odd. So i did a rkfill unblock wifi and now i can get the wlan0 to ifup. But using wicd both wext and nl80211 i cant get it to do anything. thoughts?
Click to expand...
Click to collapse
That's how I get my wifi work. I don't know more about the detail. I think Digitaldaz add something in his rootfs as his rootfs tarball is ~400MB while the rootstock stuff is less than 300MB.
same root fs? cause last time i tried his was 1.5 gig
rkaszala said:
same root fs? cause last time i tried his was 1.5 gig
Click to expand...
Click to collapse
I mean his tarball. After untar it should be about 1.5gig. I installed some updates and it grows up to 2.0gig on my one. Should be same?
what about the touch screen ... any prograsess ???
APK to Java Beta
Description:
Since I'm into making Android Apps nowadays, I thought of making this tool to save me (and you) time. So I started coding it and it worked out pretty well so far. The tool can decompiles your selected apk to Java code, to learn from it, so as an educational purpose.
Additionally it also can decompile to smali code and it can decompile the resources of the app. It's currently a very early beta but it works successfully (at least at my computer)
Used External Tools:
- 7za
- apktool
- baksmali-1.4.0
- jd-gui
- dex2jar
Requirements:
- JRE 6/7 (I think that's all, but maybe android-sdk is needed, I guess not)
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Added very basic help file, various code fixes (no errors should occur on decompiling java/smali/resource. the Eclipse projects are still bugged though)
Download:
Version 0.9 beta (check github for changelog):
Mirror #1: broodplank.net
Mirror #2: Mediafire.com
Version 0.8 beta (check github for changelog):
Mirror #1: broodplank.net
Mirror #2: Mediafire.com
Version 0.7 beta (check github for changelog):
Mirror #1: broodplank.net
Mirror #2: Mediafire.com
Version 0.6 beta (check github for changelog):
Mirror #1: broodplank.net
Mirror #2: Mediafire.com
Version 0.5 beta:
Mirror #1: broodplank.net
Mirror #2: Mediafire.com
Github Sources:
https://github.com/broodplank/APKtoJava
Please let me know how it runs!
Thanks! Was looking for a tool like this. I need to learn a lot about developing android apps. Will download this as soon as i get on my PC this evening.
Sent from my GT-S5360 using xda premium
anasdcool71 said:
Thanks! Was looking for a tool like this. I need to learn a lot about developing android apps. Will download this as soon as i get on my PC this evening.
Sent from my GT-S5360 using xda premium
Click to expand...
Click to collapse
You're welcome! Please let me know your experience with the app, it still needs a lot of testing!
Alright, so i tested the 0.6 beta. I chose my app from eclipse, as i already knew its source code. Decompiling into resources and smali files are working totally fine, but it is not able to generate the java code. I got that message :-
I went to jd-gui and did what i was told, but nothing happened. After clicking OK, an error message came that the input file was invalid. After that the tool won't close. I had to open the task manager to end it.
anasdcool71 said:
Alright, so i tested the 0.6 beta. I chose my app from eclipse, as i already knew its source code. Decompiling into resources and smali files are working totally fine, but it is not able to generate the java code. I got that message :-
I went to jd-gui and did what i was told, but nothing happened. After clicking OK, an error message came that the input file was invalid. After that the tool won't close. I had to open the task manager to end it.
Click to expand...
Click to collapse
Thanks for your feedback, I had the same error once, it seems there is a problem with this file "dex2jar.bat". somehow I just doesn't get executed the right way, the strange thing is that it's executed the same way as the other batch files, and if I do it manually: "dex2jar.bat classes.dex" then it also works..
So I though maybe the working directory needs to be set.
edit:
Code:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit
Press any key to continue . . .
so that's the problem . Will lower the heap ^^
Open the /tools/dex2jar.bat file and paste this contents into it:
Code:
@echo off
cd /d %~dp0
REM
REM dex2jar - Tools to work with android .dex and java .class files
REM Copyright (c) 2009-2012 Panxiaobo
REM
REM Licensed under the Apache License, Version 2.0 (the "License");
REM you may not use this file except in compliance with the License.
REM You may obtain a copy of the License at
REM
REM http://www.apache.org/licenses/LICENSE-2.0
REM
REM Unless required by applicable law or agreed to in writing, software
REM distributed under the License is distributed on an "AS IS" BASIS,
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM See the License for the specific language governing permissions and
REM limitations under the License.
REM
set CLASSPATH=
FOR %%i IN ("%~dp0lib\*.jar") DO CALL "%~dp0setclasspath.bat" %%i
java -Xms512m -cp "%CLASSPATH%" "com.googlecode.dex2jar.tools.Dex2jarCmd" %*
new version released! the option to convert to an Eclipse project is now available (still beta though)
See changes here
Btw i forgot a critical fix. Check latest commit for fix
Awesome apk.
tapatalked² from cowsquadGnex®
cowsquad said:
Awesome apk.
tapatalked² from cowsquadGnex®
Click to expand...
Click to collapse
Thanks.
btw, V0.8 released!
Changes: 1 2 3
It's becoming much more stable luckily
Alright bro, i've to yet try the 0.8 version (using the 0.6). Your solution worked. My source was decompiled to the java files. But i see there were some changes :-
1) I saw that the 'this' keyword was used before almost every variable even if i hadn't included it (but that's not much of a problem, though).
2) I had used that tag R.id.editText1, R.id.radioButton1, etc. to use my views from the res folder. But in place of those, there were some numbers.. I really find it hard to work with them.
anasdcool71 said:
Alright bro, i've to yet try the 0.8 version (using the 0.6). Your solution worked. My source was decompiled to the java files. But i see there were some changes :-
1) I saw that the 'this' keyword was used before almost every variable even if i hadn't included it (but that's not much of a problem, though).
2) I had used that tag R.id.editText1, R.id.radioButton1, etc. to use my views from the res folder. But in place of those, there were some numbers.. I really find it hard to work with them.
Click to expand...
Click to collapse
Hmm the random numbers as variables kinda sucks, I know, but that's just the way the program (jd-gui) works unfortunately, it makes things a lot harder to read but at least it's a working java source. Unfortunately jd-gui doesn't have any commandline tool with several switches. (I saw some other jar to java decompilers, but they gave a source code even more strange, so I think jd-gui is the best solution for now, of course I will update it if possible)
Looking forward to more updates for this great tool!
emd2009 said:
Looking forward to more updates for this great tool!
Click to expand...
Click to collapse
v0.9 released
Changes: 1 2 3
With all versions of your tool, including v9, I get an error whenever I export as an Eclipse project:
Line 4503 in APKtoJava.exe
Error: Subscript used with non-Array variable
emd2009 said:
With all versions of your tool, including v9, I get an error whenever I export as an Eclipse project:
Line 4503 in APKtoJava.exe
Error: Subscript used with non-Array variable
Click to expand...
Click to collapse
Thanks for letting me know. Ill take a look at it ^-^
I think i know what to change
Attached a screenshot of the error when trying to get an eclipse project (happens after the JD-GUI thing)
Jonny said:
Attached a screenshot of the error when trying to get an eclipse project (happens after the JD-GUI thing)
Click to expand...
Click to collapse
Thanks, more people reported that problem, I think changing this: "$namearray[0]" to "$namearray" and "$tarsdkarray[0]" to "$tarsdkarray" will do the trick, but I'm not sure since it always works at my computer no matter if I put [0] or nothing.
Ill upload new version soon
Tool Aces Present..
Universal PA Porter
About the tool:
This tool can be used to port the great Paranoid Android ROMs from any device. It's based on the guide of adityalahiri13. Thank him too.
How to use:
Make sure you that both the ROMs(Base and PA) have the same resolution. I recommend taking CM as base. Also make sure that the android versions of base and PA ROM matches. Try to use port from a device of same manufacturer, though it may not matter much.
Steps-
1. Place base ROM zip in CM folder.
2. Place PA ROM zip in PA folder.
3. Now click on Main.bat the tool will do some steps.
4. After this it will ask for your device resolution. Choose one among 5.
5. Then it will open build.prop and another file. Copy the lines from another text file to the build.prop below ro.modversion= and write the PA version you are porting infront of ro.pa.version=
6. Save and exit.
7. Now it will open updater-script and another file. Copy the line from another file and paste it to your updater-script below this line:
Code:
set_perm(1000, 1000, 0644, "/system/etc/paranoid/properties.conf");
8. Then it will ask for your android version. Choose ICS or JB, then it will zip the ROM, select name as desired and find your ROM in /PORT folder.
Congrats on your newly ported ROM.
Downloads:
Download the tool from here.
Screenshot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
FAQs:
Q. Well I ported this accordingly but it's stuck in bootloop. How to solve it?
A. In some cases this happens. Simply run bootloop.bat and see if it works. If it still doesn't works then run bootloop2.bat. Make sure to check if the ROM boots after running bootloop.bat, if still stuck on bootloop then only run bootloop2.bat
Q. Why you recommend porting from same manufaturer?
A. Well you can port from others also but in some of them you might need some framework modding and also need to do some modding in kernel. But in most cases even from other manufacturers the ROM should work.
Q. How can I help?
A. Pressing THANKS button would be enough.
Click to expand...
Click to collapse
Credits:
1.adityalahiri13- For such a great guide. Thank him too
2. Paranoid Android Team- For such great efforts on such great ROM.
Reserved
Sent from my ST21i2 using xda premium
wow it will try this, if heped i ll press thanks
This is a great idea,but when i run this as a regular user,it extracts everything ok and asks if i want to replace all the term.nfo files,then it finishes and closes,so i tried running it as admin and same thing.it extracts the roms,but thats about it for me,im on windows 7 professional.I read the OP,am i missing something?I have everything i need installed.
Diablo67 said:
This is a great idea,but when i run this as a regular user,it extracts everything ok and asks if i want to replace all the term.nfo files,then it finishes and closes,so i tried running it as admin and same thing.it extracts the roms,but thats about it for me,im on windows 7 professional.I read the OP,am i missing something?I have everything i need installed.
Click to expand...
Click to collapse
Sorry can't get ur error properly can u send some screens? Also I've tested it and it works ok.. but still I'll try my best to help u out
Press THANKS if I helped,
Best Regards,
AJ
alokbina is now Abhinav2
Greetings, i have just tried your tool, after extract of CM and PA roms when i'm asked to press any key i get some error and cmd closes by itself, i cannot see the error, since it closes after 0.1sec when the error appears
Try hypercam to record or press prnt scrn fast...I do the same..
Press THANKS if I helped,
Best Regards,
AJ
alokbina is now Abhinav2
If the tool isn't running at all for you guys, you are either trying to run the .bat file from within the zip, or you extracted the zip file wrong.
Extract the zip with Winrar.
Just right click the file and select "Extract Files..." than click OK.
I haven't tried porting this yet but the tool itself works just fine.
m4nu4l said:
Greetings, i have just tried your tool, after extract of CM and PA roms when i'm asked to press any key i get some error and cmd closes by itself, i cannot see the error, since it closes after 0.1sec when the error appears
Click to expand...
Click to collapse
Extract files to just to short path, for example to "c:\porting\" or "d:\porting\".
This problem shows when .bat is deep in folder.
I am really excited for this tool. THANKS
I extracted the files and attempted to run the tool, but it closes after CM and PA are extracted. Is there something I am doing wrong. I have a Maguro (GSM Galaxy Nexus). Base ROM = CM10.1 (4/22) and Port ROM = PA 3.16 (4/16). After ROMS are extracted, the tool closes. Tool is located in G: Porter
aiinjylls said:
I am really excited for this tool. THANKS
I extracted the files and attempted to run the tool, but it closes after CM and PA are extracted. Is there something I am doing wrong. I have a Maguro (GSM Galaxy Nexus). Base ROM = CM10.1 (4/22) and Port ROM = PA 3.16 (4/16). After ROMS are extracted, the tool closes. Tool is located in G: Porter
Click to expand...
Click to collapse
Now after so many reports I think there's some fault with the tool...though I checked it..still if u can try to get the error it's best..anyways I'll try to fix this today itself
Best Regards,
AJ
alokbina is now Abhinav2
Is this still alive? Just curious, thx.
Sent from my Smooth(ROM) Kindle Fire
Diablo67 said:
This is a great idea,but when i run this as a regular user,it extracts everything ok and asks if i want to replace all the term.nfo files,then it finishes and closes,so i tried running it as admin and same thing.it extracts the roms,but thats about it for me,im on windows 7 professional.I read the OP,am i missing something?I have everything i need installed.
Click to expand...
Click to collapse
m4nu4l said:
Greetings, i have just tried your tool, after extract of CM and PA roms when i'm asked to press any key i get some error and cmd closes by itself, i cannot see the error, since it closes after 0.1sec when the error appears
Click to expand...
Click to collapse
aiinjylls said:
I am really excited for this tool. THANKS
I extracted the files and attempted to run the tool, but it closes after CM and PA are extracted. Is there something I am doing wrong. I have a Maguro (GSM Galaxy Nexus). Base ROM = CM10.1 (4/22) and Port ROM = PA 3.16 (4/16). After ROMS are extracted, the tool closes. Tool is located in G: Porter
Click to expand...
Click to collapse
I'm really sorry guyz it was my mistake....fixed the tool now Please forgive me if possible guyz....Enjoy :good:
Cheers,
AJ
Do we redownload?
I took a look at main.bat ( noticed a spelling error in command goto del *it said delco* )
I think Bootloop2.bat may have errors. I get system cannot find specified file
Sent from my Galaxy Nexus using xda premium
Getting SOrry error porting.Please Check you have done everything properly
aiinjylls said:
Do we redownload?
I took a look at main.bat ( noticed a spelling error in command goto del *it said delco* )
I think Bootloop2.bat may have errors. I get system cannot find specified file
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Yes I fixed the errors and now it will work
nlygamz said:
Getting SOrry error porting.Please Check you have done everything properly
Click to expand...
Click to collapse
I've checked it thrice man...just tell me in detail wat all happens....
Cheers,
AJ
stuck in bootloop....damn man.....the PA logo just goes on and on
I redownloaded and it runs through completely without errors
- it skips the build.prop prompt though
The Bootloop.bat runs smoothly
The Bootloop2.bat always gives me "file not found"
I have not successfully booted a ROM, but its working for me
Sent from my Galaxy Nexus using xda premium
nlygamz said:
stuck in bootloop....damn man.....the PA logo just goes on and on
Click to expand...
Click to collapse
Please run the bootloop batch scripts and then try to do a logcat.
Cheers,
AJ
ran bootloop and bootloop2 ....it runs fine now....just need to do some manual handwork in it! Thanx man! Appreciate your help
---------- Post added at 09:37 AM ---------- Previous post was at 09:18 AM ----------
http://postimg.com/image/138000/paport-137438.jpg <<< Check this out @Abhinav2
So you heard alot about creating a custom rom how about creating one with ease with this simple guide you will find it easy
So for whom is this guide?
1.Absolute Beginners.
2.People with little or no programming skills
3.people who really want to learn how to make custom rom's
4.people who want to learn android and don't know where to start
Click to expand...
Click to collapse
Tools Required : (Update them manually and report me dead links please)
Java JDK FROM HERE FOR INSTALLING CYWIGN
WARNING: Do not install Cygwin before the JDK!!
Click to expand...
Click to collapse
Cywign Direct Download- Linux Terminal For Windows
Android Kitchen (ROM Development Tool)- For Cooking custom ROM and many more things, Please update this Kitchen to latest version when available.
notepad++ - for editing files like build.prop, updaterscript
MOST IMPORTANT TOOL YOUR BRAIN... AND ALSO LOTS OF TIME...
Click to expand...
Click to collapse
Step one: Installing the JAVA JDK, Cygwin and Setting up the Kitchen
*Before you do anything install the java jdk* (don't skip)
Try this Dsixda Kitchen Install Picture Tutor(recommended)Or
Watch this video guide by gitagaire for how to setup cygwin and kitchen
http://www.youtube.com/watch?feature=player_embedded&v=sYJMdHPD410
Now for the real developing so lets get ready
Click to expand...
Click to collapse
INSTRUCTIONS
1.Download and extract the cygwin_packages.zip
2.Run the set up(make sure there is no previous cygwin installation)
NOTE: INSTALL CYGWIN IN ROOT DISK LIKE C:\
1. Follow the kitchen read me txt!!!
2.Run the set up(make sure there is no previous cygwin installation)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
1.when it shows all the package names, go to the top and select "all default" until it changes to "all install" (you must click on the arrows)
Click to expand...
Click to collapse
1.Download the kitchen from above. Then, extract the kitchen's .zip file to a folder under your home account. Rename the dsixda-android-kitchen-*** folder to just "kitchen". In Cygwin, this folder would depend on what was set for your Cygwin install directory, e.g. C:\cygwin\home\John\kitchen
NOTE!! If your user folder contains spaces (e.g. C:\cygwin\home\John Smith\kitchen), then the kitchen will not function properly. Instead, copy it under C:\cygwin\home\kitchen
1.It's the time now you run the kitchen so follow carefully
2.Run the kitchen and follow
those who have their kitchen like this C:\cygwin\home\John\kitchen use these commands given below.
cd kitchen(enter)
./menu(enter)
Click to expand...
Click to collapse
those who have their kitchen like this C:\cygwin\home\kitchen use these commands given below.
cd ../kitchen(enter)
./menu(enter)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
If every things are right you should have this
congratulations!! you have sucsessfully setup up The kitchen
Click to expand...
Click to collapse
Step Two: Setting up a working folder
THERE ARE TOW METHODS FOR THIS -but i will mention only one for now.
1. WHEN YOU HAVE BASE ROM AVAILABLE.
FIRST METHOD -
1.First our folder structure should look like this:
Code:
cygwin folder/home/your user name/kitchen
1.Inside the kitchen it should look like this:
1. Now we need a base rom for working on, You can any rom but i don't know if it works with stock roms:silly:
Just Place the original rom zip in the original_update folder inside the kitchen.
2.run the cygwin.exe again type:
Code:
cd kitchen(enter)
./menu(enter)
1.now enter option 1, enter again. You should see your rom listed, choose and enter
you will be asked about changing the working folders name, at this point it makes no difference so just continue.
2.congratulations you have a working folder!!!:victory:
Step Two :change/modify/update rom
YOU CAN MODIFY YOUR ROM IN TWO STEPS:
MODIFY USING ANDROID KITCHEN - for basic modification.
MODIFY MANUALLY. - for advanced modification.
1. MODIFYING USING ANDROID KITCHEN
watch this amazing tutorial by neroyoung on how to editing rom with kitchen
NOTE: DON'T FORGET TO DEODEX YOUR ROM
Click to expand...
Click to collapse
2.Modifying manually will be added later on
3.Modifying .9.png's and oter stuff will be added soon saw stay tuned
BUILDING KERNELsThis post includes every thing that helps you develop and make a good kernel for your device
Requirements
1. linux box 32 bit with working gcc. you can use real linux machine or virtual machineOr just simply UBUNTU 10.04 64-bit
2. Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI from http://www.codesourcery.com/ (Linux version without installer arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2)
3. mkbootimg with md5support. got it from http://forum.xda-developers.com/show...&postcount=241 . credit to harish2704
4. split_bootimg.pl (google it)
5. kernel source from http://opensource.samsung.com . i use GT-P3100_ICS_Opensource_Update.zip
6. stock boot.img (or from your custom kernel).
Click to expand...
Click to collapse
Setting up the environment & building the kernel for the first time
Ubuntu 10.04 64-Bit (recommended)
Ubuntu 12.04 64-Bit
Note: If you want to use virtualization software, do not use Virtualbox. You can run into networking issues and so on. I suggest using VMWare Player instead, which is available for free on http://www.vmware.com
Steps :
1. make folder "sgy" in your home. the result is folder "/home/<yourname>/sgy". <yourname> is your linux user name, and from now replace <yourname> with your user name. put all file you already download there
2. extract "GT-P3100_Kernel.tar.gz" from "GT-P3100_GB_Opensource_Update.zip". put also in "sgy" folder
3. open terminal emulator and go to your working path with command
Code:
cd ~/sgy
4. extract your compiler with
Code:
tar -xvf arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
5. create folder "kernel" and extract kernel source there
Code:
mkdir kernel
cd kernel
tar -xvf ../GT-P3100_Kernel.tar.gz
you got 2 folder, "common" and "modules"
6. open folder "common", there is file "Makefile". open with text editor and find line with content "/opt/toolchains/arm-eabi-4.4.3/bin/arm-eabi-". replace with "/home/<yourname>/sgy/arm-2009q3/bin/arm-none-eabi-", don't forget replace <yourname>.
7. in terminal goto folder "common" and load default config for sgy
Code:
cd ~/sgy/kernel/common
make bcm21553_totoro_05_defconfig
8. if you want change you config run
Code:
make menuconfig
9. if you ready to build then run
Code:
make
or if you want to make it faster
Code:
make -j3
10. when complete and no error appear, copy your kernel to "sgy" folder
Code:
cp arch/arm/boot/zImage ~/sgy
11. extract ramdisk from your boot.img
Code:
cd ~/sgy/
perl split_bootimg.pl boot.img
you got "boot.img-kernel" and "boot.img-ramdisk.gz". move "boot.img" and "boot.img-kernel" to other place.
12. repack your new kernel and ramdisk. but first get md5sum of your new kernel
Code:
md5sum zImage
you got something like
Code:
1fd319aa60abc2abae2e5932bcb9fc77 zImage
you need that "1fd319aa60abc2abae2e5932bcb9fc77" write it or copy to text editor. you need run it every time compile new kernel
13.Repack
Code:
chmod +x mkbootimg
./mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --base 0x81600000 --kernelMD5 <your md5sum result> -o boot.img
14.And if you want to make an odin flashble
Code:
tar -cf boot-sgy.tar boot.img
Now you've built you'r kernel
reserved For FAQ
UOT Kitchen customizationHello everyone, today I'm creating this thread for newbies who want to learn how to use UOT Kitchen so it can be used by the Galaxy Tab 2.
It allows us to mod everything in the phone! You can even choose which to mod.
Prerequisites:
- You current ROM's SystemUI.apk, framework-res.apk and twframework-res.apk
The instructions are as follows:
Step 1: Battery mod
Over here, you can change:
Battery icon
Battery charging animation
Battery style
Battery colour parts
Firstly, just choose a battery bar that you like. (I personally prefer the Honeycomb one)
Secondly, choose the charging animation. (Hybrid looks nice)
Thirdly, you can choose to change the colour parts or leave it as it is.
Fourthly, (optional) you can select Additional options:
Remove % numbers
Remove charging icon
Use gradient colour fill
Well, that's all for battery.
Step 2: Icons
Here you can change:
Smiley icons
Status bar icons
Notification Power icons
This doesn't need much instructions; pick what you like.
Step 3: Status bar
This is probably the most important thing when it comes to theming: the Status Bar!
It allows you to change:
Status bar transparency
Top bar
Add/edit top bar text
Add a header
Add/edit carrier
Add a background on the status bar
Customize notifications' colours
Add/edit footer
Firstly, you need to specify your phone's screen resolution size. (Ours is hdpi.)
Secondly, mix-and-match.
Step 4: Popup (a.k.a Window Animations)
This one is just as important.
It allows you to change:
Add/edit overscroll glow
Edit popup windows
Loading circle
Volume/Download bar
Add/edit list dividers
Same thing, mix-and-match.
Step 5: Lockscreen
This allows you to change:
Lockscreen
Step 6: Window
This allows you to change:
Window animations
It allows us to use the ICS windows animation effect!
Step 7: Fonts
This allows you to change:
System fonts
They have 26 fonts to choose, including the famous Roboto font!
Step 8: Bootanimation
This allows you to change:
System bootanimation
They have loads of bootanimations to choose from. Have fun!
Step 9: File upload
This is where you:
Upload system files for modding
Choosing updater-script type
Apply 9patch autofix
Toggle ThemeChooser preview for ldpi/mdpi/hdpi
Allow to download your settings into a UOT Kitchen-openable format
Just upload your system files.
But remember to choose the updater-script type as Galaxy !!!!!!!!!!!!!!
Step 10: Summary
This is where you can check the status of your mods.
Once it's okay, you can submit the work to the kitchen.
Once you submit it, you'll be given a number. That's the name where your file will be processed under and be shown for download at the "Pickup" section.
(Note: If it gives an error instead of a download post it at the UOT thread)
Thanks for reading this small guide, I'll update it with more info!
Credits 1. Neroyoung for his video tutorials
2.For lokeshsaini94 for his amazing tutorial
3.For irfanbagus and his nice tutorial that i ported to galaxy tab 2
4.For shakatu fo remembering me to credit people thanks Alot!!!!
And any one that Iforgot to mention lol
EDIT: The latest oat2dex solves this issue altogether.
WTF IS THE PROBLEM?
The OpenGL and Google Play Store refuse to work because baksmali inside the oat2dex tool misinterprets some fields in a single smali file and breaks "services.jar" when deodexing, and the main problem it causes is mistakenly setting your OpenGL version to 0 (instead of 3), basically disabling it.
oat2dex, for some reason, flips just a few specific fields (name and type) when deodexing, as if there is an ambiguity between 2 fields on the same offset.
When you flash the deodexed services.jar back to your phone and clear dalvik-cache, Android re-optimizes it (takes the "classes.dex" inside your new JAR file, does dex2oat on it, and saves it in /data/dalvik-cache/arm/). The deodexed file is broken, so that optimized file is broken too.
You take that broken odex file from dalvik-cache and deodex it again. Since it contains those flipped field names, this time it flips them again but to the correct fields.
The result DEX file you get by that second deodexing is a properly working DEX file, and if you rename it to "classes.dex" and replace "classes.dex" inside your broken "services.jar", you'll get a working "services.jar" and all your OpenGL and Google Play Store problems will disappear immediately.
HOW TO QUICKLY GET A WORKING DEX?
* Extract classes.dex from the JARs, rename them to framework.dex and services.dex.
* Copy them to your internal SD.
* Enable "USB debugging" in Developer options.
* Connect your device to your PC and open Command Prompt:
Code:
[B]adb shell[/B] (confirm ADB on your device)
[B]su[/B] (confirm SU on your device)
[B]dex2oat --dex-file=/sdcard/framework.dex --oat-file=/sdcard/framework.odex[/B]
[B]dex2oat --dex-file=/sdcard/services.dex --oat-file=/sdcard/services.odex[/B]
* Copy these odex files to your PC and deodex them again with oat2dex.
* Rename the new framework.dex and services.dex to classes.dex and add them to their JARs, replacing the broken classes.dex.
JARS AFFECTED BY THIS BUG
framework.jar/classes.dex --- only a single non-critical error in NumberPicker.smali (classes2.dex is fine)
http://forum.xda-developers.com/attachment.php?attachmentid=3338076&d=1432918042
services,jar/classes.dex --- Total of 8 errors, described below...
http://forum.xda-developers.com/attachment.php?attachmentid=3335118&d=1432772056
BUG REPRODUCTION
Requirements:
1) Java installed
2) oat2dex_bug.zip
ZIP contents:
* baksmali.jar
* oat2dex.jar
* boot.oat --- taken from /framework/arm/
* services.dex --- this is "classes.dex" from the deodexed "services.jar" (which breaks OpenGL)
* services-from-dcache.odex --- this is the odex file taken from "/data/dalvik-cache/arm/" that was created by Android after flashing the broken deodexed "services.jar" and clearing dalvik-cache
Reproduction steps:
1) Open "oat2dex_bug" folder, right-click inside it and then select "Open command window here".
2) Write the following lines exactly as follows:
java -jar oat2dex.jar boot boot.oat
java -jar oat2dex.jar services-from-dcache.odex odex
java -jar baksmali.jar -o services-from-dcache services-deodex.dex
java -jar baksmali.jar -o services services.dex
3) With WinMerge, compare folders "services" and "services-from-dcache".
You'll see that only one file has differences, and it's "ActivityManagerService.smali", that's the file you need to fix.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In the above images are the only affected areas you need to fix.
Holy @#%. Well done! This issue was a real pain. Thanks
What about fixing framework.jar ? Play store compatibility ?
Sent from my C6903 using XDA Free mobile app
dstrikersZ1 said:
What about fixing framework.jar ? Play store compatibility ?
Sent from my C6903 using XDA Free mobile app
Click to expand...
Click to collapse
framework.jar has only 1 error in NumberPicker.smali, and it's not very critical. Has nothing to do with the Play Store bug. After you've fixed services.jar by deodexing it twice, Play Store is fixed.
IaguCool said:
WTF IS THE PROBLEM?
The OpenGL and Google Play Store refuse to work because baksmali inside the oat2dex tool misinterprets some smali files and breaks "services.jar" when deodexing, and the main problem it causes is mistakenly setting your OpenGL version to 0 (instead of 3), basically disabling it.
oat2dex, for some reason, flips just a few specific fields (name and type) when deodexing, as if there is an ambiguity between 2 fields on the same spot.
When you flash the deodexed services.jar back to your phone and clear dalvik-cache, Android re-optimizes it (takes the "classes.dex" inside your new JAR file, does dex2oat on it, and saves it in /data/dalvik-cache/arm/). The deodexed file is broken, so that optimized file is broken too.
You take that broken odex file from dalvik-cache and deodex it again. Since it contains those flipped field names, this time it flips them again but to the correct fields.
The result DEX file you get by that second deodexing is a properly working DEX file, and if you rename it to "classes.dex" and replace "classes.dex" inside your broken "services.jar", you'll get a working "services.jar" and all your OpenGL and Google Play Store problems will disappear immediately.
JARS AFFECTED BY THIS BUG
framework.jar/classes.dex --- only a single non-critical error (classes2.dex is fine)
services,jar/classes.dex --- described below
BUG REPRODUCTION
Requirements:
1) Java installed
2) oat2dex_bug.zip
ZIP contents:
* baksmali.jar
* oat2dex.jar
* boot.oat --- taken from /framework/arm/
* services.dex --- this is "classes.dex" from the deodexed "services.jar" (which breaks OpenGL)
* services-from-dcache.odex --- this is the odex file taken from "/data/dalvik-cache/arm/" that was created by Android after flashing the broken deodexed "services.jar" and clearing dalvik-cache
Reproduction steps:
1) Open "oat2dex_bug" folder, right-click inside it and then select "Open command window here".
2) Write the following lines exactly as follows:
java -jar oat2dex.jar boot boot.oat
java -jar oat2dex.jar services-from-dcache.odex odex
java -jar baksmali.jar -o services-from-dcache services-from-dcache.dex
java -jar baksmali.jar -o services services.dex
3) With WinMerge, compare folders "services" and "services-from-dcache".
You'll see that only one file has differences, and it's "ActivityManagerService.smali", that's the file you need to fix.
And here are the only differences you find in the file (notice especially the first one and the last one):
Click to expand...
Click to collapse
java -jar baksmali.jar -o services-from-dcache services-from-dcache.dex
Click to expand...
Click to collapse
Error: "Can´t find the file services-from-dcache.dex"
There is no such file in the zip either - only services-from-dcache.odex, but with this file it did not work
moonryder said:
Error: "Can´t find the file services-from-dcache.dex"
There is no such file in the zip either - only services-from-dcache.odex, but with this file it did not work
Click to expand...
Click to collapse
Then you made a mistake somewhere.
IaguCool said:
Then you made a mistake somewhere.
Click to expand...
Click to collapse
tried it again, step 1 and 2 without problems, but step3 the same error as mentioned before
there is a new file in the folder called "services-deodex.dex"
moonryder said:
tried it again, step 1 and 2 without problems, but step3 the same error as mentioned before
there is a new file in the folder called "services-deodex.dex"
Click to expand...
Click to collapse
Ahh I see that oat2dex renames the file for some reason. I fixed line 3 to
java -jar baksmali.jar -o services-from-dcache services-deodex.dex
You could figure that out yourself, you know... by looking inside the folder, I don't see why you repeat every step like a robot uncritically.
IaguCool said:
...I don't see why you repeat every step like a robot uncritically....
Click to expand...
Click to collapse
cause i am not a programmer and a noob in this field contrary to you (maybe you are a genius and i am a little user :angel: )
moonryder said:
cause i am not a programmer and a noob in this field contrary to you (maybe you are a genius and i am a little user :angel: )
Click to expand...
Click to collapse
So basically it's like pushing a screwdriver into a wall socket without knowing what electricity is... I don't get why people that don't develop even try to deodex themselves in the first place. Deodexing is meant for developers, not "little users"...
so its must to be writen GL_ES_VERSION:I
its i/1/L ?
Alvian_P said:
so its must to be writen GL_ES_VERSION:I
its i/1/L ?
Click to expand...
Click to collapse
It's "I" for Integer. Seriously what are you people doing here? It's for *developers*, normal users have nothing to gain from this process.
That's how I have fixed it too, well done
Take care that mWentToSleep must also be fixed.
Both lines are inverted.
Edit: nevermind, your method is inverting both... I did it manually.
Please tell what command compiles the folder "services" into file "services.dex" back?
Bazooka Joe said:
Please tell what command compiles the folder "services" into file "services.dex" back?
Click to expand...
Click to collapse
Google for "smali-2.0.5.jar" for that. baksmali only decompiles.
IaguCool said:
It's "I" for Integer. Seriously what are you people doing here? It's for *developers*, normal users have nothing to gain from this process.
Click to expand...
Click to collapse
@laguCool
1. thx for discovering that problem and its solution
2. all devs began once upon a time, so i think threads like this one are very helpful for users who want to learn and become a dev in future too. So
3. please be soft with all of them who asks questions here.
Thx again for your excellent work and knowledge.
m.
moonryder said:
@laguCool
1. thx for discovering that problem and its solution
2. all devs began once upon a time, so i think threads like this one are very helpful for users who want to learn and become a dev in future too. So
3. please be soft with all of them who asks questions here.
Thx again for your excellent work and knowledge.
m.
Click to expand...
Click to collapse
Well, being soft isn't my thing, it's against my nature...
Anyways, if a person doesn't know what "I" means in Dalvik opcode, they are doing the learning process wrong. They need to be familiar with Dalvik datatypes beforehand.
IaguCool said:
It's "I" for Integer. Seriously what are you people doing here? It's for *developers*, normal users have nothing to gain from this process.
Click to expand...
Click to collapse
just look around , anyways my college is IT
ah sorry if this thread not open for normal users
IaguCool, Big, big Thanks!!! OpenGL worked now! :good:
There is a more simple way for obtain dirty odex from dirty dex file. Just copy deodexed services.dex to sdcard and type in terminal
dex2oat --dex-file=/sdcard/services.dex --oat-file=/sdcard/services.odex
Then copy created /sdcard/services.odex to PC and deodex them again to obtain correct services.dex.
_SIL_ said:
IaguCool, Big, big Thanks!!! OpenGL worked now! :good:
There is a more simple way for obtain dirty odex from dirty dex file. Just copy deodexed services.dex to sdcard and type in terminal
dex2oat --dex-file=/sdcard/services.dex --oat-file=/sdcard/services.odex
Then copy created /sdcard/services.odex to PC and deodex them again to obtain correct services.dex.
Click to expand...
Click to collapse
Thank you I rarely use the terminal so I missed that. I actually copied all /framework/ odex files from dalvik-cache to see if there are more JARs affected by this bug, will add them to the list if I find any.