[Galaxy Tab 4 Android Development] g_ding84:
tips/tricks/how-to's

This is a community. I see you guys as an extension to my real family.​

Troubleshooting 101

First and foremost : I don't have all the answer, Hence why I relay on you guys to help out. So below is a collection of my knowledge and other users input.

Step 1 : of any ROM, read the install instructions and prerequisites before you flash a ROM. Don't think you can just flash any ROM and expect everything will work. Also, on that note,

DON'T FLASH SOMETHING THAT IS NOT MEANT FOR YOUR DEVICE

. I have seen too many times people hard brick because they don't read or pay attention.

Step 2 : read the OP. I try to make it as painless as possible to NOT bore you guys and gals with install instructions and directions. Nor do I try to make is complicated. If you can read, you can flash this ROM. If you choose

not

to read please, don't expect support. That goes for any Mods, Themes and ROMs......reading and understanding goes a long way.

step 3 : If you run into a bug, let the developer and thread know.

But be as detailed a possible

. The more information you can give the better help can be provided.

Please follow this Template :

Below are a few examples I have come across. First one......Seen too many times. the Second one is much better.

trouble #1 :

I keep getting FC everywhere

Response :

What apps? what build are you on? How did you flash the ROM/MOD? what recovery were you using? do you have a logcat?

Trouble #1

I flashed the new ROM (latest build). It was a clean flash from TWRP recovery. I wiped everything. I made sure it was a good download. The MD5 Sum matched When I booted up I kept getting this FC message (message example). I tried rebooting to recovery and wiping cache and dalvik cache - it didn't help. I pulled a logcat and uploaded it. Could you please help?

Response :

After reading the logcat, It looks like an issue with XXXX. I'll make a fix to patch the ROM/MOD. for now here's the work around XXXX

Android permissions explained

Here is how-to-read linux permissions when they are like this (0644 or 0755) or (RW-R--R-- or RWXR-XR-X)

Permissions:

User - who owns the file.

Group - that owns the file.

Other - Other users

R - Read the file.

W - Write or edit the file.

X - Execute or run the file as a program.

Now the permission table is broken up into READ/WRITE/EXECUTE permissions. That is for each let say "user". These are permissions for Owner / Group / Other. Permissions are like granting access for something run or be used. Now to get into the number type (0644). Now for those permission are represented in a value for each position. Read = 4 Write = 2 and execute = 1.

The first number 6 is for Owner. the second number 4 is for Group and lastly the third number 4 is for Other.

Now wait, what about the First 0 that is in there?

Its just a placeholder for the number system. Adding an extra numeric value (04644) Set UID / Set GID and Sticky) we can talk about later. Those are used in very special instances.

Let's break it down a little.

0644 the first 6 after the 0 starts the first column (reference root explorer) Then each number is the value. owner has value of 6. read & write is checked. Group has value of 4 (read) and other has the value of 4 (read) as well.

So using a little bit of math. read=4 write=2 and execute=1

Owner has Read and Write permission. Those add up to 6.

Group has the value of 4, which only mean it has read permissions. As well as Other.

Now if you understand that then you can read these RW-R--R-- owner group other.

Each three letter groups (RW-)(R--)(R--) stand for Owner then Group then Other. This is the letter representation of the permissions. Meaning Owner has read/write permissions and both Group and Other have only read permissions.

So, 0644 is equal to RW-R--R-- (RW-)(R--)(R--) | 0755 is equal to RWXR-XR-X (RWX)(R-X)(R-X)

See each group?

Hopefully that makes it a lot easier for you guys if you're not sure how to setup permissions before.

NOW LETS CHANGE PERMISSIONS VIA TERMINAL!!

Now if you need to change permissions with Terminal Emulator which is faster than manually going thru each script and/or app. You can do a bulk permission change as well with the following command lines.

As a General Rule, Folders will be 0755 (RWXR-XR-X) and the files within will be 0644 (RW-R--R--). your INIT.D folder will be 0755 and all the scripts inside will be 0755 as well.

Another rule, your folder cannot have less permissions as the files inside. they will break......there are exceptions though. (that's a one-off type scenario)

EX. system/ect/init.d (0755) and the files inside system/etc/init.d/datatest (0777) - NO GO

ex. system/ect/init.d (0755) and the files inside system/etc/init.d/datatest (0755) - Good

THESE ARE EXAMPLES - PLEASE USE YOUR HEAD IN WHEN USING THESE COMMANDS. THEY ARE POWERFUL

su
mount -o remount,rw /dev/block/platform/soc.2/mmcblk0p15 /system
chmod 0644 /system/lib/*.so /system/app/* /system/priv-app/* /system/framework/*.jar /system/build.prop
chmod 0755 /system/etc/init.d /system/etc/init.d/*
chmod 0755 /system/xbin /system/xbin/* /system/bin /system/bin/*

Now notice that the permissions are in the number format. This is why I broke it down for both ways.

SU

as we all know is the command for superuser access.

mount -o remount,rw

to mount system as read/write

CHMOD

syntax is for change mode(permissions) for a file or directory.

0664/0777/0755

are the permission that will be granted to said file or directory

(Remember what was said earlier )

Then followed by what files/directory permissions will be changed.

*

means the whole folder to include all files in it will have the same permissions