[Q] Permissions of a db file is changing without notice - Android Q&A, Help & Troubleshooting

Hi all!
I have created a script that reads a .db file and exports a .txt file based on the data contained in the database.
That script actually works only with the root user but I would prefer not to use root for this.
The problem seems to be that when the db file is updated (after exiting Epistle, a note editor) it loses all the permissions I gave it with chmod. The db file is located inside /system
Thanks and regards.
In case you want to know, I'm trying to execute a script after modifying some notes (with Epistle) that will export every note to a different txt file.

Please use the Q&A Forum for questions Thanks
Moving to Q&A

Sorry about that
Can anyone lend a hand? I'm trying to make an application be able to access the data of another one. If you want to know, I'm trying to make Tasker access the database of Epistle (a text editor)
Thanks!

Related

[Q] File permissions......permanent change?

I am trying to sync a rostering app between two devices using dropsync.
The .db files that need syncing are in the /data/data/com.blah.blah/databases directory. Using Root explorer I can change the permissions to give full rw permission to others. The two .db files will then upload to the dropsync server.
The problem is that whenever the app is opened and anything modified, the permissions change back to default and thus dropsync can't access the modified .db
Is there anyway to change this or am I wasting my time? what is the 'sticky' box option in RE?
I'm not sure precisely what "sticky" means, but it's not what you want--it doesn't involve persistence or "sticking".
You could try to make the files not owned by the app but set it so the group is the app. Make sure the group can read/write/execute, or whatever it needs. This way, the app can still use the file but won't be able to change its permissions.
Of course, it could see that it doesn't own the file and refuse to run. I'm not sure what sort of checks the program's authors implemented. This also won't work if the file is deleted and created anew--the new file would be owned by the app.
Yeah thanks for that,
I tried the ownership and group swap earlier, and am pretty sure the app re- writes the db.
Don't think is going to work.
cheers
Well its obvious that the app, when opened sets the permissions to the .db files so that they wont be usable by others. The way you describe the problem is more likely to be a file owner problem and not with the permissions. Try to set the app and the files to the same owner and see if that works. You could always make a script that would change the permissions/ownership of the file.
FYI,
The sticky bit is a special part of the permissions mask for a file or directory. When set on a directory, it tells the system to prevent anyone but a containing file's owner from deleting files in that directory. This is handy if you have a directory that's being used by multiple users on a system as scratch space as it prevents people from wiping out others' files.
For files....the behavior isn't defined.
Hope this helps,
- chris

How to run .sh script on note II?

Hello
I'm trying to do something (seemingly) simple. I have flash 11 installed on my rooted Note II. I want to run flashex205.sh (which will hexedit the libflash.so file so I can get hulu). However, I can run it from my sd card because the executable bit can't be set. And for some reason I can't move the file to the root filesystem. I can't find a root capable hex editor either so that I can edit the file myself.
Whats the trick?
Thanks!
jondecker76 said:
Hello
I'm trying to do something (seemingly) simple. I have flash 11 installed on my rooted Note II. I want to run flashex205.sh (which will hexedit the libflash.so file so I can get hulu). However, I can run it from my sd card because the executable bit can't be set. And for some reason I can't move the file to the root filesystem. I can't find a root capable hex editor either so that I can edit the file myself.
Whats the trick?
Thanks!
Click to expand...
Click to collapse
If you're in the directory where the script reside do type sh flashex205.sh
Please read forum rules before posting
Questions go in Q&A
Thread moved
Thank you for your cooperation
Friendly Neighborhood Moderator

[Q] Add existing SQLite databases to Android application

Hey,
i read some stuff about SQLite databases to use them within my own application.
so for this point, it should work.
BUT:
for most of my data stuff i need a database that i can directly put into my application. i read on stackoverflow that it's possible to put up to 1,2mb files in the assets folder and then copy them anywhere else to use them.
my question is:
is it possible to acces those databases in the assets folder directly to read from them? there's no need to insert data into this database, it's just a data storage to read from? is it possible? and if it is than how could i do this?
regards,
Sh4itan
so there's no one hre with the answer of my question? or an idea to achieve this?

Android System ignores hosts file

Hey guys,
I have a problem with editing the hosts file on Android.
At first, some general information: My Phone is a rooted Samsung Galaxy S6 with Android 7.0 and for editing I use the 'Total Commander for Android' tool by C. Ghisler (Version 2.90).
So here's my problem: I put together a huge hosts file for my Windows PC (some own entries, a lot of entries copied from someonewhocares.org/hosts) and wanted to copy the entries from my PC to my phone. So I duplicated the file, used Notepad++ and did " Edit --> EOL Conversion --> Unix (LF) ". I then sent the file via e-mail, so I could easily download it from my phone. Said and done, I downloaded it and put it into /system/etc , but when I try to visit one of the sites in the hosts file, it works although it should'nt work.
When I open the hosts file on my phone via total commander and add an entry manually, it works (site is unavailable after doing so).
But if copied into the file (even in Unix format) the system will just ignore the entry.
I have a list with a little less than 10,000 entries, I can't type them all on my phone. What can I do now, so that the Android system will use the hosts file as it should?
Thank you very much
Sieefi
Sieefi said:
Hey guys,
I have a problem with editing the hosts file on Android.
At first, some general information: My Phone is a rooted Samsung Galaxy S6 with Android 7.0 and for editing I use the 'Total Commander for Android' tool by C. Ghisler (Version 2.90).
So here's my problem: I put together a huge hosts file for my Windows PC (some own entries, a lot of entries copied from someonewhocares.org/hosts) and wanted to copy the entries from my PC to my phone. So I duplicated the file, used Notepad++ and did " Edit --> EOL Conversion --> Unix (LF) ". I then sent the file via e-mail, so I could easily download it from my phone. Said and done, I downloaded it and put it into /system/etc , but when I try to visit one of the sites in the hosts file, it works although it should'nt work.
When I open the hosts file on my phone via total commander and add an entry manually, it works (site is unavailable after doing so).
But if copied into the file (even in Unix format) the system will just ignore the entry.
I have a list with a little less than 10,000 entries, I can't type them all on my phone. What can I do now, so that the Android system will use the hosts file as it should?
Thank you very much
Sieefi
Click to expand...
Click to collapse
Nevermind. Problem solved.
Sieefi said:
Nevermind. Problem solved.
Click to expand...
Click to collapse
Please explain how you solved it, that may help others with the same issue(seek help and provide help ). Thanks!
strongst said:
Please explain how you solved it, that may help others with the same issue(seek help and provide help ). Thanks!
Click to expand...
Click to collapse
Oh, that is, in fact, pretty simple. It was pretty late when I did this yesterday and I was tired but wanted to get this done before going to sleep. So I made some stupid mistake. I don't know what it was, might have been that I reopened the file in windows editor, might be that I copied the wrong file, I really don't know.
Did it again today (this time without making a stupid mistake) and it works like a charm.
So for everyone who wants to do this, here's a step-by-step instruction (works with Total Commander or with ES File Explorer and should also work with every other root file explorer)
1. Edit your hosts file on your Windows (or Apple) PC as you wish
2. Copy the hosts file and put the duplicate into any other folder on your PC (just not the one with the original hosts file )
3. Open the duplicate with Notepad++ and change the format into Unix (Edit --> EOL Conversion --> Unix (LF))
To control whether everything is changed as necessary you can show the format of the line breaks by clicking View --> Show Symbol --> Show End of Line
4. Move the file to your Dropbox or OneDrive or send it to yourself via mail or, or, or...
5. On your Smartphone copy or move (as you wish) the file from your selected file exchange system into /system/etc
6. Done.
Of course this is only possible, if your Smartphone is rooted and your file explorer has root access.
If your using a Linux system and want to copy the hosts file from your PC to your smartphone you can leave out the third step because the file will already be written in Unix format

ADB functions clarification and usage for data transfer/backup on an image disk

Hello xda-developers,
I'm trying to figure out the proper way to transfer app data from an Android image disk. I'm very new to this, so I hope I'm not missing something basic.
Situation. I have a .img disk image file obtained from a .vmdk file via a virtualbox conversion , the latter being created by an Android emulator. I'm trying to recover some app data and transfer that to a new, working, .img disk. The emulator works on Android 4.4.2, if that matters.
What I did. I extracted apks and copied app data folders (com.<devname>.<appname>) from/to the /data/data directory. I did that using a file manager (ES file explorer) or via the cp command, as I found in many tutorials and guides. Others suggested to copy those folders to /Android/data instead, so I did try that as well. These procedures were ineffective, because they both messed up with folders and files permissions. Although cp -ar retains folders/files permissions and ownership, that was of no use after the import into the working image. Those operations were performed on Ubuntu 18.04.
The problem (and a workaround). When the apks are installed, a new uid (in the 10000 group) is generated for them. These values are unknown when I import the data folders, hence they are destroyed at phone boot. A log in /data/system/uiderrors.txt confirms this. The only way I could make it work was to install the apk from scratch, open the app so that the new data folders are created with a proper uid, replace those folders with old ones and manually change ownership and permissions accordingly (for every apk). This turned out to be effective but it's a very tedious and error-prone process.
What am I doing wrong? How do ADB push, pull and backup commands manage folders permissions/ownership and app uids? Could they be useful in my situation? If so, how can I use them on a .img file?
Thank you.

Categories

Resources