I am trying to take a keyboard that somebody made into a flashable .zip file, and implement it into a rom that I am working on. What I did was flash the .zip through cwm, then found the apk, backed it up, and then placed it in the /system/app folder on the new rom. The problem is as soon as the rom boots, I get a force close error. So I took a look at the .zip file, there are two folders meta-inf and system. inside system there is an app folder and lib folder. My question is can I just take the apk and lib file out and place them directly into /system/app and system/lib on the new rom? and if so do i need to do anything with the META-INF folder? any ideas would be GREATLY appreciated!!!
thanks
the META-INF folder may have some script that does some other manipulation of the filesystem or runs helper apps during installation. See what's in META-INF/com/google/android/update-script.
Hey guys! Since deodexing older Z series phones with this latest update has been a pain in the *** for deodexing here's a detailed guide on how to get a correctly deodexed system folder and avoid bootloops...
First part: Getting files from the phone.
To get the files from our phone first we'll have to install ADB Drivers, you can find them here on xda or go google it. Once you have adb drivers installed go to the folder where you installed them. Press Shift while right clicking on the folder and select Open command promp.
Here are the commands to get the folders with apk, note that you'll find them in your C:\ folder.
- To get app folder:
Code:
adb pull /system/app /app/
- To get framework folder:
Code:
adb pull /system/framework /framework/
- To get priv-app folder:
Code:
adb pull /system/priv-app /priv-app/
You will get apk's only on app and priv-app folders, the only folder with odex files (arm folder) will be framework.
------------------------------------------------------------------------------------------------------------
Now let's go for sqsh files to get odex files for app and priv-app folders.
- To get odex.app.sqsh:
Code:
adb pull /system/odex.app.sqsh
- To get odex.app.sqsh:
Code:
adb pull /system/odex.priv-app.sqsh
You'll find these files inside the same folder where adb.exe is
Second part: Unpacking .SQSH files
To resume a little, you may refer to IaguCool's guide
Once you have downloaded SquashFS Tool, move both .sqsh files to the folder.
When you have opened the command promp use these codes to extract files...
> To get odex files for app folder (After extracting rename the squash-root folder to app):
Code:
unsquashfs -no-xattrs odex.app.sqsh
> To get odex files for priv-app folder (After extracting rename the squash-root folder to priv-app):
Code:
unsquashfs -no-xattrs odex.priv-app.sqsh
Third part: Merging files
Create a folder named system and move app, framework and priv-app folders from C:\ to the new folder.
After that grab the folders you extracted with SquashFS Tool and merge them with app and priv-app folder.
After doing this move SemcGenericUxpRes folder to priv-app folder
Fourth part: Deodexing
Download JoelDroid's Lollipop Batch Deodexer and replace the file named oat2dex.jar found on /tool folder with this one: Latest oat2dex
Then open the program and select the /system/ you've created to start the process.
Once it has finished, grab SemcGenericUxpRes folder and move it back to /framework
Now you can either replace folders manually on your phone using TWRP by moving the deodexed system folder to your phone and mounting System partition, erasing app, framework and priv-app folder and then pasting the ones from the deodexed folder. OR make a flasheable zip.
How to manually move folders to /system partition
> Boot to recovery (TWRP MANDATORY)
> Mount system partition
> Go to file manager and go to: /system/ partition
> Manually delete app, framework and priv-app folder (you must first open the folder, then open the menu and delete)
> Then go to where you put the deodexed folders, open app folder, open menu, choose copy and paste on /system/ folder, same process for priv-app and framework.
> Once you're done go to Wipe option, choose advanced wipe and wipe Dalvik-cache and cache.
> Boot and you're good to go! No need to fix permissions
In both cases, after you have either flashed or replaced the folders, go to Wipe option > Advanced Wipe and clean Dalvik-cache and cache to avoid problems.
Does it have issue with OpenGL and Play Store?
Sent from my D6503 using Tapatalk
RyTekk said:
Does it have issue with OpenGL and Play Store?
Sent from my D6503 using Tapatalk
Click to expand...
Click to collapse
No, that's why you need to download latest oat2dex version See deodexing part
Why not just copy App, priv-app and framework folder from system and deodex them?
Black_Eyes said:
Why not just copy App, priv-app and framework folder from system and deodex them?
Click to expand...
Click to collapse
Cause you get bootloop if you just replace odex files present in app and priv-app (Especially after replacing the deodexed framework folder in system).
If you extract via adb you'll get app and priv-app folders clean, without odex files. That way you can make a cleaner deodex since you don't replace .odex files, just merge both folders in one, app with .apks and app with .odex
I wish it was as easy as in 5.0.2 but no, on 5.1.1 is way more complicated to have a properly deodexed system.
BTW i've tried by deodexing manually by copying folder and then boot into recovery delete app, priv-app and framework folder via TWRP file manager and then flashed the deodexed zip and it worked
C:\adb>adb pull /system/odex.app.sqsh
remote object '/system/odex.app.sqsh' does not exist
C:\adb>adb pull /system/odex.priv-app.sqsh
remote object '/system/odex.priv-app.sqsh' does not exist
help
Everything was fine except google play services, it crashes every time i want add account
Perfect work @xkeita ,
I saw you asking so many guys about deodexing .222 firmware these days and finally you managed!
Great work, great tutorial. I will try asap.
could you provide the zip? or the zip from this thread http://forum.xda-developers.com/sprint-galaxy-s5/general/how-to-deodex-lollipop-rom-t3065596 can be used?
zyclops1 said:
C:\adb>adb pull /system/odex.app.sqsh
remote object '/system/odex.app.sqsh' does not exist
C:\adb>adb pull /system/odex.priv-app.sqsh
remote object '/system/odex.priv-app.sqsh' does not exist
help
Click to expand...
Click to collapse
same problem..
edi194 said:
Everything was fine except google play services, it crashes every time i want add account
Click to expand...
Click to collapse
Same here bro
I thought I had accidently deleted some necessary google services files while removing bloatwares so I tried flashing latest Gapps for 5.1.1 over stock sony FW but no effect. Can't figure out why
I'm having Xperia ZR (5.1.1 Stock)
zyclops1 said:
C:\adb>adb pull /system/odex.app.sqsh
remote object '/system/odex.app.sqsh' does not exist
C:\adb>adb pull /system/odex.priv-app.sqsh
remote object '/system/odex.priv-app.sqsh' does not exist
help
Click to expand...
Click to collapse
gundam_warlock said:
could you provide the zip? or the zip from this thread http://forum.xda-developers.com/sprint-galaxy-s5/general/how-to-deodex-lollipop-rom-t3065596 can be used?
same problem..
Click to expand...
Click to collapse
If you have an Xperia Z1 it might differ from this a little bit, I think those don't have odex.xx.sqsh on their filesystem, check if you have odex files in app and priv-app.
Phones that I know that so far work with this sqsh filesystem are Xperia Z, ZL, ZR, Xperia Tablet Z
edi194 said:
Everything was fine except google play services, it crashes every time i want add account
Click to expand...
Click to collapse
sshivampp said:
Same here bro
I thought I had accidently deleted some necessary google services files while removing bloatwares so I tried flashing latest Gapps for 5.1.1 over stock sony FW but no effect. Can't figure out why
I'm having Xperia ZR (5.1.1 Stock)
Click to expand...
Click to collapse
Did you clear dalvik-cache and cache? If it still gives you googleplayservices fc, manually download the GooglePlayServices from APKMirror and install as normal app
xkeita said:
If you have an Xperia Z1 it might differ from this a little bit, I think those don't have odex.xx.sqsh on their filesystem, check if you have odex files in app and priv-app.
Phones that I know that so far work with this sqsh filesystem are Xperia Z, ZL, ZR, Xperia Tablet Z
Click to expand...
Click to collapse
I tried to deodex directly without pull sqsh, everything except nfcnci failed, when i tried to copy to system and reboot, nfc is fc. When check nfcnci folder only apk and lib folder exsist, but nothing exsist inside lib folder.
Where do i wrong?
xkeita said:
Did you clear dalvik-cache and cache? If it still gives you googleplayservices fc, manually download the GooglePlayServices from APKMirror and install as normal app
Click to expand...
Click to collapse
Dalvik-cache & Cache ! I tried wiping the whole data, it didn't work.
App install window goes on forever and app not installing.
Got it working by installing latest play services before deodexing. (as the updated play services app in the data partition runs, no matter if system is having broken play services package)
Fixed it for now but still wondering what causes the issue
sshivampp said:
Fixed it for now but still wondering what causes the issue
Click to expand...
Click to collapse
same issue here , how can i fix this?
@xkeita Bro if not ask for much could create a video tutorial ? ?????
Hamidreza2010 said:
same issue here , how can i fix this?
Click to expand...
Click to collapse
what I did is flashed the ftf (to go back to stock)
installed latest play services via play store
then followed the deodexing guide
Note: after deodexing, do not wipe data or uninstall updated play services otherwise error will occur again
works fine thank you
ZR 5.1.1
After download the rom by XperiaFirm I must continue this step?
Second part: Unpacking .SQSH files
To resume a little, you may refer to IaguCool's guide
Once you have downloaded SquashFS Tool, move both .sqsh files to the folder.
When you have opened the command promp use these codes to extract files...
> To get odex files for app folder (After extracting rename the squash-root folder to app):
Code:
unsquashfs -no-xattrs odex.app.sqsh
> To get odex files for priv-app folder (After extracting rename the squash-root folder to priv-app):
Code:
unsquashfs -no-xattrs odex.priv-app.sqsh
Third part: Merging files
Create a folder named system and move app, framework and priv-app folders from C:\ to the new folder.
After that grab the folders you extracted with SquashFS Tool and merge them with app and priv-app folder.
After doing this move SemcGenericUxpRes folder to priv-app folder
Fourth part: Deodexing
Download JoelDroid's Lollipop Batch Deodexer and replace the file named oat2dex.jar found on /tool folder with this one: Latest oat2dex
Then open the program and select the /system/ you've created to start the process.
Once it has finished, grab SemcGenericUxpRes folder and move it back to /framework
Hi
I have a question because I don't know how to install cereberus.apk as a system file.
I have single .apk file but in system\app I have some folders with apk files inside.
Do I need to make folder for my apk file or only copy this and change permissions (644)?
And which is the best place for this apk:
*system\app
or
*data\app?
Thanks a lot
If you are rooted you can use titanium backup to change it from a normal app to a system app.
^This
Alternatively you can drop the apk into system/priv-app, fix its permissions and then reboot.
On a rooted phone, when i try to copy specific apk files to system partition, app or priv-app, it fails with error "copy failed" in root explorer, some other explorer states insufficient space, etc.
Does anyone know why this is happening and why the ROM is blocking the copy? Is there mechanism that is blocking the copy or move? Is there a way to copy it.
Strangely even recovery flashing though successful truncates the file, for e.g. a 14mb file shows up as 13mb and is corrupt and of no use.
Also tried skipping signature check by modding services.jar but no luck. ...inputs would be greatly appreciated
Hey dudes,
I have startetd to unpack the System image of the Pixel to Port it for Nexus. But the rom of the Pixel is completely different from the normal Roms. (I have downloaded the latest from Googel Dev)
In normal system images are a lot of folders like App, bin, etc, fonts... But in the Pixel's System Image are only four folders and one image. The folders are App, lost+found, preloads and priv-app. The image is "system-other-odex-marker".
In the app folder are a lot of folders witch you have expercted. But if you open them are there only ".odex" and no apk's. Lost+found is empty, preloads has some cool images and a retail demo apk and in the priv-app the same as in the app folder. The image has 0KB and none ending.
My question: What is this for a system? How can I fix my Problem? It makes me simply impossible to port this rom! :crying:
Thanks
Chris
Shouldn't there be 2 partitions for everything given the new way it updates? Meaning there should be 2 system.img, 2 boot.img, etc.a maybe you overlooked the partition that is currently containing the files you are looking for.
Edit: nevermind. Only possible duplicate I see is system.img and system_other.img. Did you look inside both?