I was getting ready to update my tablet and try the official ICS as well as the CM9 builds. Just before getting ready, I was apparently bitten by a bug in the busybox installer (1.20.0) which disabled all network access from my device. I also tried the platform.xml permissions change to add sdcard_rw but apparently something went wrong and I was left with no write access to either /mnt/sdcard/ or /mnt/sdcard/extStorages/SdCard/. I was therefore unable to find a way to run TitaniumBackup to get a consistent backup (no network for external backup, no local storage for even root-requesting mode), but wanted some sort of backup before wiping my tablet. I ended up finding an rsync binary, and via an adb root shell rsynced all of /data/app, /data/app_private, /data/media, and the wpa_supplicant file for wifi to the internal sdcard.
I have since wiped and installed the 8/10 CM9 release, and have all of my apps available. I've also restored the data and run the fix_permissions script from the CWM recovery. What I did was copy /data/app and /data/data back at the same time via a recovery adb shell. What I ended up with though, is the lib directory from each of the copied data directories being symlinked to an invalid target (lib -> /mismatched_uid/settings_NNNNN/fs_0, where NNNNN is an app id, and differs for each data directory). What this causes is for apps not only not having write permissions, but those that require libs fail at startup to even load their expected libraries are terminate immediately.
I realize after doing this that one can't restore apps and data at the same time via recovery - the fix_permissions script won't work until at least one boot cycle so that the system can process the new apks and assign app ids. I've rerun the script and the permissions are set appropriately, however I am still stuck with the broken lib directories for each of the effected packages.
Since I don't have any important data changes since the load, what I'm going to try doing is wipe /data/data and reload the content in recovery since they have now been assigned app ids. However, as a point of question, what, and when do the /data/data/*/lib/ directories get replaced with the broken symlink, and if when that situation is encountered is there anything that can be done besides reloading the data properly (or an uninstall/reinstall)? I couldn't find any trace of the previous contents of the ./lib/ directories. I've tried with a couple test cases using Titanium Backup to backup the app (even with the broken symlink), then uninstall the app and reinstall the app plus the data. This works, I presume because the appid is managed appropriately.
I tried again and it didn't work as I expected above. I re-copied the /data/data/ contents via adb in recovery, ensured that the lib contents were correctly linked (./lib/ owned by system, other dirs owned by app_NNN). However, after booting the device, I had the /mismatched_uid/ links reappear.
Any pointers on how to bulk restore the data and tie it to the app properly?
mrjoel said:
I tried again and it didn't work as I expected above. I re-copied the /data/data/ contents via adb in recovery, ensured that the lib contents were correctly linked (./lib/ owned by system, other dirs owned by app_NNN). However, after booting the device, I had the /mismatched_uid/ links reappear.
Any pointers on how to bulk restore the data and tie it to the app properly?
Click to expand...
Click to collapse
I'm having a similar problem with no wifi, and mismatched uids (and consequently no /data/data access -> crashing apps) on another device. I've been searching (and learning) for about two weeks now. Did you ever figure this one out?
tonestertm said:
I'm having a similar problem with no wifi, and mismatched uids (and consequently no /data/data access -> crashing apps) on another device. I've been searching (and learning) for about two weeks now. Did you ever figure this one out?
Click to expand...
Click to collapse
Did u try flash Pit file?
Sent from my GT-P6200 using XDA Premium
tonestertm said:
I'm having a similar problem with no wifi, and mismatched uids (and consequently no /data/data access -> crashing apps) on another device. I've been searching (and learning) for about two weeks now. Did you ever figure this one out?
Click to expand...
Click to collapse
No, I didn't directly figure it out. I ended up doing the restore, and using TitaniumBackup to backup all apps with the broken ./lib/, then uninstalled them all and reinstalled them. When reinstalling, the lib directory was correctly generated with a [newly] associated uid.
Related
First Note: These apps will become uninstallable! (much like any other stock rom apk) and must be deleted using the console, somehow.. anybody care to shed some light on how?
Hopefully someone can add more to this or use this info to build a much more thorough how-to, but for now here's what I've got...
Instead of building your own update.zip you can modify your alt+w wipe data to reinstall the downloaded/backed-up apks of your choice. This can also be used to install 3rd party apks without having access to any other installer, for instance if you wipe then find yourself without any access to the internet/market or a computer.
To do this you must first have the apps on the sd. I used astro to backup apps which puts the apks in /sdcard/backups/apps
I'm doing this on IonR2, your system apps may be elsewhere, mine are located in /system/app, you'll need to know where they are for this to work.
Power off your phone and do this (enter the bold stuff only, replace my directories with yours):
home+power (enter recovery)
alt+x (to go to console)
hit enter (cause the prompt says so..)
/ # mount sdcard
/ # mount system
/ # cd sdcard/backups/apps (or cd to where ever your backed up apks are)
/sdcard/backups/apps # ls *appname* (this may be useful for finding the exact *.apk name)
/sdcard/backups/apps # install -cp org.appName.com.apk /system/app (remember to capitalize where necessary)
at this point it should hang for a second then return to the "/sdcard/backups/apps #" prompt, if so the apk has successfully been added.
/sdcard/backups/apps # reboot (or install more apks if you like)
home+power then alt+w to test if you so desire. now your backed up apk should reinstall itself if you ever have to do an alt+w wipe again..(weather the apk is on the sd card or not)
I know, not very thorough but wth, I figured someone might find this as useful as I did(or be able to expand on it a bit, data, app settings etc). Also cool if you happen to have no net connection, no pc access and a wiped phone with no real useful/fun apps...
u only have to do this once, and it'll flash the new roms WITH these apps installed? how do we 'clear' these apps if we don't want to have them installed when we wipe?
Is it possible to install all the apps in your backup directory at once, with some sort of batch command?
These apps will become uninstallable! (much like any other stock rom apk) and must be deleted using the console, somehow.. anybody care to shed some light on how?
@ Lieu10ant, yeah, you only have to do once/updated rom, this modifies the base install. the newely added apks will be installed every time you alt+w (wipe). If you apply an update.zip this process will need to be redone(I'm pretty sure, haven't tried).
@ lukekirstein, I'm sure there's a way but I'm not sure how. Really hoping someone more knowledgable jumps in here with a bit more info :/
I've added a file manager(with backed up apps installer) and wifi tether because I always need/use em and never really planned on uninstalling em..
Im pretty sure you would have to use "rm" and individually remove all apps you dont want.
instead of backing up your apps, just run apps to sd and never reinstall any apps again
Breakthecycle2 said:
Im pretty sure you would have to use "rm" and individually remove all apps you dont want.
Click to expand...
Click to collapse
you would mount the system again from the recovery console and 'rm' each app you don't want. You would want to be careful not to batch delete stuff.
sonikamd said:
These apps will become uninstallable! (much like any other stock rom apk) and must be deleted using the console, somehow.. anybody care to shed some light on how?
@ lukekirstein, I'm sure there's a way but I'm not sure how. Really hoping someone more knowledgable jumps in here with a bit more info :/
Click to expand...
Click to collapse
Wouldn't it be a nice thing to make them uninstallable? That would, in theory, make them a lot more stable like the stock apps and can only be updated, not modified. You can probably delete them through console in recovery or even through ADB if you wanted to. It'd definitely be impossible to do it through some basic installer or the package uninstaller while the phone is running normally. The same process as a stock app.
I know you can't do it while the phone is running (bummer :/) but I was hoping it's possible when the phone is off.
@ Breakthecycle2, cool, I figured rm through console after mounting but haven't tried so wasn't 100% on that one.
@ Sirus20x6, I prefer this method to apps2sd, mainly because everything's stored in the phone's internal memory. Although I know most folks now seem to be using an apps2sd of some sort.
@ lukekirstein, yeah. That's why I do it this way, but some may want them uninstallable so I figured I better make a point to inform those folks
Wouldn't this decrease your internal memory since these apps are being saved to the phone so you can later wipe?
jusplainmike, I would assume so. Something to keep in mind.
Would a nand be better?
sonikamd said:
I'm doing this on IonR2, your system apps may be elsewhere, mine are located in /system/app, you'll need to know where they are for this to work.
Click to expand...
Click to collapse
(10c)
perhaps, depends on what you want I suppose. I wipe clean every so often just to get a fresh start, speed things back up etc. Sometimes while installing themes I wipe multiple times and also just want a clean slate.
This is definitely not the way to go for a complete backup-restore. Just seems a good way to reinstall a few missing by stock apps after a wipe.
lol soulife i know, i know
I believe apps2sd is the best bet for keeping apps after a wipe or fresh install.
retort
sonikamd said:
lol soulife i know, i know
Click to expand...
Click to collapse
The only reason is because you push a market app to internal memory it read only. If there's an update you have to open terminal or adb and rm and push the update back. Plus if you flash a new update it will wipe them out. With a2sd however you can update them no hastle, and even if you flash a new build, with a2sd the reinstall themself. Much more convient as long as you smart with your partitioning.
I think you guys may be doing this the hard way. If you are wiping and moving to a compatible ROM, just leave the sd card as it is and the new ROM should be able to find and install the apps as long as it has apps2sd built in.
If you are moving to an incompatible ROM you will have to remove old sd app directory first.
rm -r /system/sd/app
then you should be able to just copy over your entire apk backup directory to your sdcard as follows.
cp- a /sdcard/yourdirectoryname /system/sd/app
and if you are installing a ROM that has app2sd built in, it should find all the apps and install them.
If the ROM you use does not have apps to sd, then you will be able to use Lucid script to move apps from phone to sd card app directory (with already copied apps) and link directory
Tru, I just don't use apps2sd. My sd is constantly getting mangled for one reason or another..
uh, by doing this you're filling up your /system folder which actually needs memory to improve. and you can uninstall them by
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
rm/system/app/nameof.apk
on another note wouldnt wiping while having info in the system ; wipe?
anyways
Hi,
I have a few of these phones and I'm having the same issues on each of them:
1) When I connect the phone to the computer (as media device, debugging enabled), most of the folders are duplicated. (I see 2X Android, Music, etc folders all named exactly the same) I do not see duplicate folders when I'm on the device using ES File Explorer, but I do see a folder titled "emulated" under storage.
2) When I try to copy over MP4 files from my computer to the phone, it gets halfway completed, then it pauses and a windows pops up on the computer that says the device may not be able to play the file and do I want to continue. I say yes, but progress hangs in the same spot for a minute or two, then the device disconnects and the file isn't copied.
Does anyone else see duplicate folders on their One, or is it something I'm doing wrong? I restored Titanium backups for apps & data (not system data), but I've done that on other phones and never had this problem. All phones were rooted, have TWRP installed, and had apps w/ data restored via Titanium backup. I went through each backup and only selected actual apps to restore, not any system data. While I can delete/combine several of the duplicate folders, I cannot do anything with the Android folders (and there is data in both of the android folders).
I asked in the OnePlus forums, but haven't gotten a clear answer yet.
Does anyone else have duplicate folders? I'd hate to have to reset all of the phones and start from scratch.
TIA
Additional info: appears related to either the Titanium restore of app data via zip file (all in one restore in recovery) or an update of Google Services. Narrowed it down to those two things (I think). I kept checking the folders throughout various steps of the restore, and the duplicates only showed up after a reboot when app data and Google Service update (from playstore) installed.
Will keep updating.
Conclusion (hope it helps someone else): Restoring titanium program and apps as an all in one zip in recovery causes duplicate folders every time (after reboot). Not sure why, because I've successfully done it before on other phones.
Restoring Titanium by itself, then the app backups, worked fine.
Also solved the problem of not being able to transfer the MP4 files. Not sure why that problem was linked to the other issue, but it was.
-----SOLVED NOTE----
I did a reflash of the stock rom one more time with ODIN and it seems to have solved the problem. However I still have absolutely no idea about what was wrong with the phone, or why the first successful flash did not take care of the problem.
And a piece of advice, do not edit platform.xml. I swear I edited it correctly and then reverted to the correct settings, did using 3 spaces instead of a tab caused an error??? This will remain a mystery for me...
---------------------------
Hello All,
So I have the Verizon S3 i535, I edited the platform.xml file to give write permissions to external sd card and all hell broke loose after I reverted those changes. All of a sudden every app is getting that "unfortunately stopped" message. I cannot send any file to neither the internal nor the external sd card from my pc, file browsers cannot read any file on any of these cards, I tried pushing with adb but that does not work either. I tried factory reseting, and hard reseting to no avail.
I tried reflashing the stock rom with ODIN but after the flashing process nothing changes? (Does that have to do with me being on NE1).
I do not understand what is going on with the phone right now, flashing should have restored everything, I still get com.google.process.gapps stopped working then all sorts of apps stopping in the same manner, I still can't copy any file to any sort of storage on the phone.
Any idea what has happened and how I could fix it?
Thanks in advance.
That type of editing is not something I have done on Android.
Is there any chance it is a permissions issue and could be fixed with root permissions to a file manager or with adb?
dawgdoc said:
That type of editing is not something I have done on Android.
Is there any chance it is a permissions issue and could be fixed with root permissions to a file manager or with adb?
Click to expand...
Click to collapse
I would be willing to try that however I cannot connect to play store, neither the internet app connects to the internet so I cannot install apk's. I cannot "push" apks to the storage too I tried it via pc and via adb. So I cannot even install a root file manager.
Kingo root however accesses the system (through the pc) and manages to install itself. I have no idea how it can do it.
guguma said:
I would be willing to try that however I cannot connect to play store, neither the internet app connects to the internet so I cannot install apk's. I cannot "push" apks to the storage too I tried it via pc and via adb. So I cannot even install a root file manager.
Kingo root however accesses the system (through the pc) and manages to install itself. I have no idea how it can do it.
Click to expand...
Click to collapse
Glad to see you solved the problem.
I was speaking of using an adb shell to change the permissions of platform.xml to 0644 (-rw-r--r--) if they were set to something else. (I just checked my /system/etc/permissions/platform.xml to verify that was the settings on my device. I wasn't any more specific before because I hadn't checked the file locations nor its permissions.)
Hi all,
I recently moved from Windows Phone to Android and have been enjoying fiddling with my phone. I rooted the phone using ODIN and CF Auto Root (CF-Auto-Root-herolte-heroltexx-smg930f.tar.md5). I used Titanium Backup to remove a lot of bloatware from my device, but ended up making a mess of things. I then flashed the stock firmware for my Telstra device from Sammobile (G930FXXU1APF2_G930FTEL1APF2_TEL).
Everything seemed fine, but I now cannot use Titanium Backup to integrate updates or move apps to the system partition. I have tried using ES File Explorer and an adb shell to do this also, but with no luck. The apps either do not work, or are installed back into /data/app. It seems to move the apk to /system/app (I can see it there), then removes the app from /data/app and then hangs. If I reboot the phone, the app is uninstalled (but the apk is still in /system/app). I have noticed via /proc/mounts that the /system partition is often mounted RO. Even when I remount RW after TB starts processing it immediately becomes RO.
I have set the TB to use indirect app loading, enabled USB debugging and unknown sources for apps.
Before I reflashed with the stock firmware I was able to move apps to the system partition (I did Gmail and Google Keyboard and they worked well). Could I have stuffed up my firmware flashing? I only used the AP file, not BL/CP/CSC/UMS that were included in the download.
I apologise in advance if I am all over the shop here with my description. I know enough to get myself into trouble but not enough to get out! And yes, first thing I did after flashing was to back everything up so I don't make the mistake again...
Hi All
I am hoping someone can help... I have the Galaxy S7 (SM-G930F / 6.0.1 / UK / EE) and have come up with an issue.
I use Cerberus Apps in case my phone is lost - you are able to install this into the system to avoid someone wiping the phone and removing the software. To do this the phone must be rooted and then I usually use Link2SD to transfer the app to make it a system app. This has always worked on my old phones - but alas not this time.
The problem is that the system partition (4Gb) is full!! I have deleted all the language packs to try and clear some space - but it is still full! Strangely enough I also uninstalled an "Amazon" app which was listed as being a system app and quite large (from memory I think it was just under 100Mb)... but when I removed it and rebooted the system partition free space remained unchanged! It's possible that Amazon was a user app and I mis-read it... but anyway - I thought that the only way to clear some space was to resize the system partition - so I installed TWRP (3.0.2), have done a complete backup (system/efs/etc) apart from \data as this showed 0Mb and "failed to mount" when I tried to back it up originally.
So, my question is - can anyone help me to free some space from the system partition to allow Cerberus App to be stored there? I did think about uninstalling the VR Gear files as I dont have a VR device and assumed I could re-load these from Google Play if needed - but I do have the Galaxy Gear watch - so decided not to remove these files in case it screwed this up. Not sure which Google Apps I can remove and re-install if needed... so if anyone knows this, then that would be a help too
I thought you could resize the partition in TWRP but cant find any clear details on how to do this, so thought I'd ask here before I screw the phone up :silly:
Any ideas/help greatly received.
TWRP doesn't support encryption so that's likely why /data won't mount. Resizing partitions is typically done via Odin with PIT files, but it's very dangerous, so I wouldn't recommend it.
Luxembourg ROMs have around 130mb free system space, so there must be a ton of carrier bloat in yours. This doesn't sound right though, it's required that there is some space for expansion. Could you run the following command in a root terminal and post the results please?
df -k | grep system
CurtisMJ said:
df -k | grep system
Click to expand...
Click to collapse
Thanks Curtis - I left my phone at home today, so will try this tonight and post results. After deleting all the unwanted language files I have about 40Mb space free, but this still doesnt seem to be enough as when I run Link2SD and reboot the phone, Cerberus has vanished and has to be re-installed... although when it re-installs it shows it as an "update" which would indicate that it is installed already - just 'lost' ???
Will update tonight when I get a moment.
Thanks
That's interesting actually. It seems to be indicative of permission issues. The app was successfully moved to the system, but the permissions on its files were wrong and the system refuses to load it(Link2SD's fault, essentially) . It's still acknowledged by the app manager though, which is why it can be "updated". Can you try move it with something apart from Link2SD? I recommend titanium backup.
CurtisMJ said:
Can you try move it with something apart from Link2SD? I recommend titanium backup.
Click to expand...
Click to collapse
Thanks Curtis - I have Titanium Backup (free version) installed already so can give it a go - I have only used it for backups (a long while ago) and have never used it to relocate an app... is it fairly self explanatory how to do it?
Will look tonight when I get in
Thanks
Just tried with titanium myself and it fails in a similar manner. Seems Marshmallow is a little fiddly and Link2SD puts out a generic message when it has issues. Titanium just freezes. You'll have to do it manually
First you'll need to clear the system of failed attempts. Look in the /system/app and /system/priv-app with a root Explorer for Cerberus apks or folders. Next, look in the /data/app folder and find the Cerberus folder. Take note of this path.
Next, fire up a root terminal and enter the following commands. In my case I was moving Greenify.
mount -o remount,rw /system
cp - a /data/app/com.oasisfeng.greenify-1 /system/app/Greenify
Replace the data folder with your noted path. The system path can be anything.
Then reboot and the app should be system.
Hi Curtis
Thanks for spending so much time on this.
OK, I skipped straight to the manual relocation method that you said. Whilst the app is Cerberus the APK etc is called System Framework as I have installed the 'hidden' version rather than the one which shows as Cerberus on the phone. However using OI File Manager, when I look in /system/app and /system/priv-app folders there is nothing called Cerberus or System Framework... so I am assuming that there are no orphaned APKs or other files.
But, this is where the strange thing starts, when I look in the /data/app folder, it is empty... so I am guessing I am looking in the wrong place as there are loads of apps! I am looking from home then selecting data, etc... any thoughts?
Oh, I have checked that hidden files are shown too!
Thanks again
i used to install the same app on my S7
please follow this guide & let me know the result.
1- uninstall Cerberus App, Link2SD, TTb, etc. and reboot
2- install SystemCleanup.
3- from the app SystemCleanup swip to tab apps and remove some bloatware like Google books, music, games, google TTS.
4- Reboot & install Cerberus App, do not run it.
5- from the app SystemCleanup go to apps tab and move Cerberus App to system/app & reboot again.
6- That's all.
Click to expand...
Click to collapse
Hi Abuzar
Thanks for the help... I tried using System Cleanup and initially it didn't work... it didn't show System Framework after cleaning up which made me think it was uninstalled properly. But when I tried to re-install it I got a message asking if I wanted to update the the built in application... so I said yes and re-checked in System Cleanup and it was visible, so I tried uninstalling it and after a couple of attempts it succeeded.
Then I re-installed and it installed it as a new app and it was visible in System Cleanup as installed in /data. So, I moved it to /system and configured it. It now lists in System Cleanup as being installed @auto system+data... so I am assuming it has installed properly... but not 100% sure as it lists some of it in data - so not sure if after a reset it will wipe the user profile from Cerberus or not.
I took a backup in TWRP and thought I would do a factory reset and test it... but on the S7 using factory reset in O/S it asks for my samsung password etc so looks like it may delete my Samsung/Google account's so didn't proceed as I didn't want to delete any online info. So... I tried factory wipe in TWRP but it just said failed "could not mount /data and unable to find crypto footer" and a few more "failed to mount /data" errors... so I gave up and will have to assume its installed properly as a system app
Thanks for all your help.
Just as a final note, the system+data combo sounds normal. Under regular conditions, the system partition is read only, so in order to install any updates to system apps, Android actually installs them as data apps, but cross-references them to system apps and gives them the relevant permissions. You can remove the data part by selecting "Uninstall Updates" in the app info page.