You may have tried to move some APKs to /system/app/ and end up with continuous crashes, usually resulting in abandoning your plan to save some otherwise wasted space (or preventing to accidentally uninstall all keyboards...)
This is often said to be a permissions issue, yet that's not enough for some packages: those with external libraries.
Copy the APK to /system/app/, then `chmod 644` it as usual.
You can also install to /preload and symlink to system
On your computer (easier but not required), open the APK (as a renamed ZIP).
Go to ./lib/{architecture}/, where on the Ace2 this is lib/armeabi-v7a.
Extract all the (.so) files here and put them in /system/lib.
There's no step 5!
Ryccardo said:
You may have tried to move some APKs to /system/app/ and end up with continuous crashes, usually resulting in abandoning your plan to save some otherwise wasted space (or preventing to accidentally uninstall all keyboards...)
This is often said to be a permissions issue, yet that's not enough for some packages: those with external libraries.
Copy the APK to /system/app/, then `chmod 644` it as usual.
You can also install to /preload and symlink to system
On your computer (easier but not required), open the APK (as a renamed ZIP).
Go to ./lib/{architecture}/, where on the Ace2 this is lib/armeabi-v7a.
Extract all the (.so) files here and put them in /system/lib.
There's no step 5!
Click to expand...
Click to collapse
Thank you very much :good:
All of the above is still true if you want to package apps in CWM format, but people who just are tight on /data (and don't want to repartition) can just use the convert to system app in Link2SD, which now actually works on apps with libraries
Related
i am moving my apps to the sdcard obviously, and when i copied my apps to the sdcard(cp -R /data/app/ /sdcard), i get a zip file for one of the apps. it should be an a apk. but the res, resources, and the android manifest, are all in this zip folder and i dont know a way to install that app to my sdcard to make it work.i tried the package installer on the phone, it worked by recoginzing the app but it said install uncessfull. so does anyone know a way so i can install the app someway or get it to a apk. format?
id appreciate it very much and thank you!!!!
mybackup saves backups in a "zip" file, could this be what you are seeing?
davidhooper4 said:
i am moving my apps to the sdcard obviously, and when i copied my apps to the sdcard(cp -R /data/app/ /sdcard), i get a zip file for one of the apps. it should be an a apk. but the res, resources, and the android manifest, are all in this zip folder and i dont know a way to install that app to my sdcard to make it work.i tried the package installer on the phone, it worked by recoginzing the app but it said install uncessfull. so does anyone know a way so i can install the app someway or get it to a apk. format?
id appreciate it very much and thank you!!!!
Click to expand...
Click to collapse
i noticed the paid apps are showing up in /data/app as *.zip and in /data/app-private as the *.apk .. things like pac-man etc
Well I browsed through all the forums and I could not find anything that I am going to explain. There are some tits-bits here and there, but I hope this proves to be useful.
I will also explain if you have a xrecovery backup, then how to extract your games and progress from there.
Many of you might be switching ROMs very frequently or upgrading/downgrading their Android. While doing this, we lose all our apps and games and more importanly the game's PROGRESS, if we do not save them.
There are apps available to save apps/games and progress but there is a way to do all these thing MANUALLY. This for those who want the control in their hands , like me.
PART A:
Here's how you do:
1) Create a backup folder on the sdcard with a name that you like. eg. mybackup
1) from your filemanager or from the shell, browse to the directory /data/app and do ls -l. You will get a list of apps which you have installed.
2) Select the app that you want to save/backup and move it to sdcard folder that you have created. The names here would be long but it will be almost similar to the name you see in the UI.
For eg.
Code:
cp uk.co.aifactory.moveitfree.apk /sdcard/mybackup
. would be the command to backup Move It game.
3) Now go to the the directory /data/data and do a ls -l. browse through the list and find a directory which matches the name of the apk without the .apk extension.
for Eg. for the 'move it' game, you will find a directory uk.co.aifactory.moveitfree
Move this directory to the backup folder
Code:
cp -r uk.co.aifactory.moveitfree /sdcard/mybackup
.
For those working on shell, remember to do cp "-r" as you are copying a directory.
You are done!!. You have backed up your app and all the progress related to that app.
Now you can copy mybackup folder to your PC or keep it in the sdcard if you have enough space. Its your choice...
PART B:
How to get the progress and games back after flashing the ROM or after wipeout.
Its easy. Just reverse the steps mentioned above.
1) copy the .apk file from your backup folder to /data/app through filemanager or shell.
Eg.
Code:
cp /sdcard/mybackup/uk.co.aifactory.moveitfree.apk /data/app
2) copy the data directory to the location /data/data.
Eg.
Code:
cp -r /sdcard/mybackup/uk.co.aifactory.moveitfree /data/data
You are back to business, just browse through your apps and enjoy the games from where you left.
UPDATE :
For Angry Birds, when you are done with the above steps, delete the file
/data/data/com.rovio.angrybirdsrio/files/settings.lua
It app will not open up if you dont do it.
-----------------------------------------------------------------------------------------------------------------
Those who have already backedup their ROMs and not saved their apps as mentioned above, dont worry, I have a solution for that too. I am specifically going to explain the method to get it from xrecovery backup.
When you backup your ROM or system using xRecovery, it stores all the data inside /sdcard/xrecovery/backup/<date>.
Inside that folder, there are 3 img files.
cache.img
system.img
data.img
data.img contains all the data/app/games that you had installed, while system.img contains everything that came bundled with ROM. It might differ a bit per devices, but mostly its data.img
I tried to open this file ".img" with a lot of extraction tools but none could help. Atlast, i got help from our great <zdzihu>, and he said, he saves the archive with yaffs2 compression.
There is an app "unyaffs2" which you can use to extract the contents of the archive. Get it from here http://forum.xda-developers.com/showthread.php?t=910255
This app will extract the contents to the folder where you ask it to. Once you have your data, repeat the above mentioned steps to get your apps and games running!!
Thank you for the how to
it not change owner
this is very big problem
Hi dateno1, can you be more specific?
What app are you trying on
What method u used to copy
What error r u getting exactly
Which device and on which step
Sent from my X10mini using XDA App
ronaksv said:
PART B:
How to get the progress and games back after flashing the ROM or after wipeout.
Its easy. Just reverse the steps mentioned above.
1) copy the .apk file from your backup folder to /data/app through filemanager or shell.
2) copy the data directory to the location /data/data.
You are back to business, just browse through your apps and enjoy the games from where you left.
Click to expand...
Click to collapse
i have question on the process of getting it back.
on step 1 you said copy.
is it also ok if you are going to reinstall it then proceed to step 2.
thanks.
I created a flashab;e zip or flashing TB after a fresh install.
There are two options to create ZIP to install TB as user or system app.
I see that there is an additional file in the flashable zip when i select to install it as a system app.
/system/lib/libtitanium.so
My question is
What is the diffeence between installing tB as user/system and whats the use of the additional .so file.
.so library is a native compiled (binary) library. What is it used for? I don't know, some faster functions of Titanium. Why is it in one ZIP and not it another? Because user .apk has its libs included and they're unpacked by system automatically into its own /data/data/<appname>/lib directory, while system app is expected to have its libs with the rest of system libs, and it doesn't unpack anything.
When the app is installed in /system, it doesn't take place in /data, and (AFAIK) it automatically inherits system permissions. That's about the only difference I'm aware of.
Jack_R1 said:
.so library is a native compiled (binary) library. What is it used for? I don't know, some faster functions of Titanium. Why is it in one ZIP and not it another? Because user .apk has its libs included and they're unpacked by system automatically into its own /data/data/<appname>/lib directory, while system app is expected to have its libs with the rest of system libs, and it doesn't unpack anything.
When the app is installed in /system, it doesn't take place in /data, and (AFAIK) it automatically inherits system permissions. That's about the only difference I'm aware of.
Click to expand...
Click to collapse
Bang on, thanks
Sent from a Desire S waiting for Kernel 3. WAKE UP HTC!!!!
(Preface for noobs : /system and /data are two different partitions. Freeying up /system won't get you more intrenal memory, but /data does. Old apks rest in /system and updated versions placed in /data. You can replace the old apks using newer versions)
I heared Titanium Backup PRO does something like, but you can do this with any File Explorer with ROOT access. Its works 100% for Android Gingerbread 2.3.x , try on other versions.
### Do it on your own risk, I am not responsible for anything ###
1. Update the desired app to the latest version from Google Play Store
2. Open File Manager, Enable ROOT_ACCESS, remount /System as writable
3. Goto /system/app and backup the desired apk to sdcard
4. Goto /data/app and copy updated apk
5. Paste into /System/app
6. Note down the filename of old apk and delete the old apk
7. Rename the new apk into the old filename
8. You may encounter a FORCE CLOSE if the app was running in background
9. The updated apk in /data/app will be removed automatically
10.Restart your device, Done!
I replaced Playstore, Maps, Google Search ect..
Example: For PlayStore, updated apk will be com.android.vending-1.apk, and old apk is vending.apk
Hit thanks it it works, Thanks
thanks, nice guide! All is ok (PlayStore, Terminal Emulator), but if I merge last version of "Google Play Service", then Gmail or Maps shows the message "Unknown issue with Google Play services" when I open them... do you know how to solve? thanks in advance
p.s. configuration in signature
Better use Link2SD. It makes the integration of updates into system seamless. Rebooting the device is optional (restart only if you encounter errors).
thank you for your suggestion! I tried TitaniumBackup but it gives me the same error, then now I'm trying with Link2sd and it works well, BUT the new apk file is in system/app instead of system/priv-app, and its name is "com.google.android.gms-1.apk" instead of "PrebuiltGmsCore.apk"... can this create some problems in future?
EDIT: I tried moving to the priv-app folder and renaming the apk to be identical as before and it seems to work... for now...
It's the package name, it won't create any problems. There is no need to rename the app to match the old one. Default location when converting to system app is in /system/app. I don't know if you can change the location, but you can move it manually to /system/priv-app thru root explorer. Just restart the device afterwards to eliminate FC errors.
I've posted about this on StackExchange here (http://android.stackexchange.com/q/157846/126804) but it seems no one can/bothers to answer it. More details are available in the link.
I'm currently trying to convert some user apps into system apps. I've successfully moved the apps into /system/app by making a NAND image and mounting it on Linux, but it throws an error when I try to launch those apps (ClassNotFoundException, something about missing dex). I've already set the permissions the same as the other apps inside /system/app.
Another thing that I've noticed is that I can make any change to /system (copying files, editing, renaming, etc.), but everything gets wiped after a reboot. The same happens with another partition named /custpack (this is what the OEM uses to fill the phone with boatware). I've also tried to place the apps there, but same thing.
How can I debug this?