Jargon question about 'root directory for symbols' - Java for Android App Development

Hello friends,
I've been having trouble trying to track down a native crash which was reported on my app. I'm trying to use the ndk-stack tool with no luck. I'm really bad with using the command line properly. Most of the readme's and directions seem to assume you've got the command line completely figured out. Well... I apparently don't.
Ok so I'm in the windows command prompt and I'm in the ndk-stack directory
I type:
ndk-stack -sym (what do I put here) -dump dump.txt
I have the dump file in the same directory as ndk-stack to make it easier. It says I need to put
$PROJECT_PATH/obj/local/armeabi
after the -sym. I have not a clue what that means and nowhere has any reasonable explanation. Its probably a jargon thing since looking in the help for ndk-stack on the command line the -sym is defined as:
"contains the full path to the root directory for symbols"
Gee.. thanks. why didn't you say so. Apparently the web assumes I know this too because any search just seems to bring up the same stuff I've already seen. I could really use some help. Thanks so much in advance. Sorry about the ranting.:silly:

The $PROJECT_PATH is the path where the folder of your project is. So if your project is for example located at C:/Desktop/yourproject/, then you put C:/Desktop/yourproject/obj/local/armeabi/ after the -sym. Is that your question?
---------------------------------
Phone : Nexus 4
OS:
Pure KitKat 4.4.2 stock, no root, no mods (but only for the first time ;D)
---------------------------------
Gesendet von Tapatalk

Related

How to root HTC Magic w/ Donut using OSX?

Hi,
Is there an easy way to root my magic (Dutch Vodafone branded "with google" 32b) which is running Donut, using solely OSX?
I don't have acces to a windows pc..
I searched the entire forum, nowhere is anything about OSX mentioned.. Can't find it on google either..
I thought the only option was the 1c procedure from theunlockr.com, but then i need 1.5 first, which requires me to use windows programs again..
Am i just being bluntly stupid, and have wasted about 2 weeks of searching, or is there just no way this can be done?
Thanks for your answer,
Jacob
You would do it just like you would with linux, since both Mac OS 10 ad linux are Unix-like operating systems. You don't need any Windows-only software like HTC sync. Probably want to install the SDK and get ADB working.
Re:
Okay, so is there a Linux guide to do this?
First I should say that I have not rooted any phones, but I've looked through some of the guides, that is about it.
From what I've seen, even though the guides might say things like C:\ you can just mentally replace that with proper *nix syntax.
Also, this guide
http://theunlockr.com/2009/10/15/how-to-root-a-donut-phone-android-1-6/
is not windows specific.
Is there some guide to which you are referring that is stumping you on what to do on a mac?
The biggest issue could be if you need to make a goldcard, which I am told is the most difficult part. From what I've seen, people are using QMAT for this, but I am not sure if there is an alternative to QMAT (which is now PSAS and apparently has a free version again) for mac/linux, so you might need to use wine to run it.
Setup the SDK so you can use ADB, like it says here:
http://wiki.xda-developers.com/index.php?pagename=HTC_Sapphire_Hacking
Add the tools directory to your path like I said here.
Code:
export PATH=${PATH}:/Users/softbanksucks/Documents/android-sdk-mac_x86-1.6_r1/tools
Replace the above path with the full path to where ever you saved the SDK.
If you don't have a good mac text editor, you can use the built-in TextEdit.app but you must make sure the .bash_profile saves as a txt file, not rtf by hitting command+****+t before saving. Even if you specify no extension, sometimes it is added so from the terminal do
Code:
cd ~
ls -a
if you see .txt after .bash_profile, do this
Code:
mv .bash_profile.txt .bash_profile
Now you can use adb.
If you are using mac os 10.6, there will be some issues with the SDK because last time I checked (a few months ago), it wasn't compatible with the 64 bit version of Java. This is certainly an issue for ddms, but I am not sure if it affects adb - probably not but figured I'd mention it.
If adb works fine for you, ignore the rest of this post unless you want to use ddms.
If you want to use ddms with MAC OS 10.6 Snow Leopard, you have to make 32 bit mode the default for applications by dragging it to the top of the list in /Applications/Utilities/Java Preferences. You also have to add a line of code to /tools/ddms (in the SDK folder located where ever you put it)
Find this:
Code:
os_opts="-XstartOnFirstThread"
and change to this:
Code:
os_opts="-XstartOnFirstThread -d32"
Remember, this is for using ddms which I don't think you really need.

Could anyone Help?

Hi,
I am currently trying to get into Android Developing and I am following a tutorial book called "Practical Android Projects" however, I have only got so far and I am coming across a problem.
I have installed the Android SDK and required files, and installed ant as per instructions here: http://ant.apache.org/manual/install.html (Under Windows and OS/2 section)
I am getting an error about my /res folder not existing, when it infact does exist, in the directory it specifies?
Please see screenshot at the following link: http://server3.uploadit.org/files/StuMcBill-cmdprompt.jpg
Thanks for any help you can give?
I am running Windows 7 Home Premium x64!
Stewart
I would suggest using eclipse. Especially for beginners it is alot easier than building everything on console.
It has nice plugins and the android emulator from the sdk is integrated.
100% agree with Dark3n.
Ant is a programming language in and of itself. (Well sort of a scripting language but whatever).
No need to try and learn two things at once. I'd suggest wait until your 2nd or 3rd app at least to learn Ant. You really don't need it unless you want to use something like ProGuard. (Which is yet another thing to learn and another thing I'd suggest waiting on).
Oh an for a possible quick fix type
>ant clean
And see if that helps.
EDIT:
Err nevermind -- looked at your screenshot... why are you running ant from the System32 directory? Is your Android project really in that folder?
Usually you set the path environment variable in your system properties in windows to add ant to the list of paths, so you can run ant from any folder.
Then you can open that folder, type cmd in the address bar and open a command prompt in your project directory. You then run ant from there which reads the build.xml file an default.properties and local.properties files in your android project folder.
OK, I will give eclipse a try.
RE system32 and ant: Well the book I am following said to use ant, and I just followed the instructions and it installed the project in System32.
Could I just substitute Eclipse for ant while following the guide?
I do have Ubuntu installed on this computer, would that be better / easier?
Eclipse is available for any OS.
Use the one you are most comftable with.
I think eclipse might even use ANT internally but you don't have to hassle with it.
Working in system32 is not adviseable, you should generally keep out of there .

For those wanting to just root, here's some help

This is for those on ICS only. If you have upgraded to jellybean, this will not work.
There have been other posts, and this one is nothing new, in fact it's a remake of DebugfsRoot so that author gets all credit. I just made a couple of tweaks to help those that might be having a fuss with it. First, this is assuming you are using a windows PC. I don't work on MACs. Next, make sure you have ADB working properly on your PC. To do this:
Go to your start menu and open a command prompt, usually by typing "cmd" in the run blank.
Type adb
If you don't get a whole heap of feedback of how to use adb returned to you, and instead get an error, you don't have it set right. If you're sure you installed the development kit and you have ADB on your PC, do the following:
FIND IT... and add it to your system path variable. adb.exe comes with the root extract, so if you don't have the kit installed, you can use that instead, but seriously, if you want to root and enjoy this hobby to its fullest, install the android kit. The most common location is "C:\Program Files (x86)\Android\android-sdk-windows\platform-tools" - but hey, get this, did you know the asus sync software available from their site also includes it? I just now found that out haha...
To add whichever absolute path to your system path variable, start menu > control panel > system > advanced system settings > environment variables button > In the system variables window, scroll down to path, click it, click EDIT > move your cursor to the very end and add ; again that's (semi-colon) - you'll see other entries there which show you, just follow the pattern. Remember, you only need to do this if your original attempt at typing adb didn't work. Save your settings, return to that command window, and try adb again, you should have better results this time.
Now then, download the root package here:
https://dl.dropbox.com/u/33560221/DebugfsRoot_v1.8.exe
This is the original software with slight enhancements by me...those enhancements are all to the BAT file, and are as follows:
The EXE file is a self-extracting archive which will extract the contents to C:\tabletroot Please don't change this install location. You'll see why in a moment. the RootDebugfs.bat was edited as follows:
Within each push command, I preceeded the file name with C:\tabletroot so it knows exactly where to find what it needs. I found if you just pushed without it, it didn't like it too much.
Last, after each "wait-for-device" command, I added TIMEOUT 120 This forces the batch file to sleep for 2 minutes allowing plenty of time for your tablet to reboot. I found if you didn't do this, it would try to do the next commands way too soon causing failure. This should give enough time for you to get to your desktop before the next command is issued. If you find it's too long and you're ready to go, just press a key and that will kill the clock. If not long enough, edit the batch file with any text editor, and increase the timeout time.
All other files are what was originally found. I didn't update any of the apks or edit any other file than the main batch file. That's it. I used these exact files to root my tf300t on firmware version .30 with no issue of any kind. I hope this helps someone. If you run into trouble, not sure how much help I can be. I'm simply posting exactly what I did. I didn't author anything other than the edits mentioned above. Good luck.
Did the your_path thing and it didn't work.
Could you describe just a bit more which part you're having trouble with and what happened?
Sent from my ASUS Transformer Pad TF300T using xda app-developers app
I added ;<your_path> at the end of the path and it did not change anything in the CMD window after imputing adb, when nothing happened before.
I'm sure it's something that I did not do that went wrong.
The your path thing was just a descriptor. You need to replace that with the location of your adb.exe file so it would look like ;c:\program files\ ... and so on. I gave a sample path of where mine is but it could vary between systems.
Sent from my ASUS Transformer Pad TF300T using xda app-developers app
Well if my previous answer doesn't prove I've never rooted anything...
Where do you DL the adb file from?
Couple Choices
10010110 said:
Well if my previous answer doesn't prove I've never rooted anything...
Where do you DL the adb file from?
Click to expand...
Click to collapse
OK, I will assume you do not have the android development kit installed, so you still have a couple of choices here:
ADB comes with the archive I directed you to download, so if you download it and run the EXE, you'll find ADB inside the newly created folder I mentioned, so using this method, you would add... ;C:\tabletroot
ADB also comes with the ASUS sync software found on the ASUS website. If you have / will download and install this software, the ADB file will be located here: C:\Program Files (x86)\ASUS\ASUS Sync or it might be in C:\Program Files\ASUS\ASUS Sync just depends on the type of system you have. I have a 64-bit OS, so I have a Program Files and a Program Files (x86) folder (the x86 is for 32-bit programs) - in this situation, you would want to add ;C:\Program Files (x86)\ASUS\ASUS Sync or ;C:\Program Files\ASUS\ASUS Sync
Remember if you go with option one, download the archive I provided and run it before you add / test to your path variable, because that's what puts ADB in place. Once you have that all done, just go run the BAT file - after you connect your tablet and can see it on your PC as a media device that is
Clarification
So using this method do we need the blob files or was that just for downgrading, and since we don't need to downgrade using this method, everything that we need is in that self extracting exe file? I'm not interested to unlock bootloader -for now-...just want a few tweaks and to install a few root apps
Sorry, I only have experience rooting a couple HTC devices and they were both 1 touch and rooted.
I hear you, and they are legit questions. This is for rooting only. This procedure doesn't unlock your bootloader, which is why i used it. All you need is in the archive.
Sent from my ASUS Transformer Pad TF300T using xda app-developers app
Another question, do you have to put the tablet into any special mode in order for the batch file to work? If I remember correctly, the phones just had to be on, plugged in via usb (duh) and the batch files did the rest. The batch file has the 120 second pause, but it seems like it does the first part with -
1. waiting for device to be detected
2. daemon not started
3. daemon started successfully
then it just sits there, and its been longer than 2 minutes...what am I missing?
Only mode i know of is to put it in media mode mentioned above. Also I've read to turn off asus sync found in the sync section of settings.
Sent from my ASUS Transformer Pad TF300T using xda app-developers app
HandicapFailure said:
Another question, do you have to put the tablet into any special mode in order for the batch file to work? If I remember correctly, the phones just had to be on, plugged in via usb (duh) and the batch files did the rest. The batch file has the 120 second pause, but it seems like it does the first part with -
1. waiting for device to be detected
2. daemon not started
3. daemon started successfully
then it just sits there, and its been longer than 2 minutes...what am I missing?
Click to expand...
Click to collapse
Either unknown sources, or USB debugging might need to be on.
Ah yes forgot those. I'd do both thankya.
Sent from my ASUS Transformer Pad TF300T using xda app-developers app
FYI the batch file does not work with windows xp, I searched and seems timeout is not supported. Sucks having an old OS..
I ran the commands manually and the root worked, so thanks anyway!
rickc3k said:
FYI the batch file does not work with windows xp, I searched and seems timeout is not supported. Sucks having an old OS..
I ran the commands manually and the root worked, so thanks anyway!
Click to expand...
Click to collapse
Wow, I didn't know that. Thanks for the tip.
Sent from my ASUS Transformer Pad TF300T using xda app-developers app

[GUIDE] How to Set Up ADB & Build Android with Fedora KDE

Hello all. I have written a guide to setting up & using Android ADB, & building Android, with Fedora KDE. Almost every guide that I've ever seen for setting up ADB, & a build environment for building Android, is always written for Ubuntu, & ONLY Ubuntu. But I choose to work with Fedora KDE. Why Fedora with KDE??? Because I hate Ubuntu. !!!HATE!!! I also can't stand gnome 3.X. I'm sure I'm not the only one who feels this way, so that's why I'm writing this guide. I've tried different linux distros, & I've found Fedora to be the best of all. It is my favorite now. They also seem to be one of the few distros that stays on top of the linux kernel updates. As of 03/20/13, they're already on kernel 3.8.3!!! Other distros stay way behind. Also, with KDE, you can keep the "windoze" traditional desktop look & feel, especially when you use the "folder view" activity. It's great!!! Well, let's get started.
!!!WARNING!!! Before anything else, I will mention this right now. The Dolphin file manager can destroy your Android build with hidden ".directory" files. Please keep this in mind. I will explain this at the end of the guide.
INSTALL JDK6
-I guess I'll mention this 1st, since this can actually be one of the most painful & confusing parts of all. You'll need to install the java jdk6. As far as I know, Android stuff won't work with the newer jdk7. You can find it on oracle's page here:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
-Scroll down & you'll see it. Get the "rpm.bin" version. If your working with 64bit, it should look like this:
jdk-6u43-linux-x64-rpm.bin
-Someone by the name of JR already made a very good guide on how to do this. It is what I followed, & you should too. You can find it here:
http://www.if-not-true-then-false.c...java-jdk-jre-6-on-fedora-centos-red-hat-rhel/
NOTE: When following this guide, be sure to go through only steps 3a & 4a when you reach them. Steps 3b & 4b are for the "non-jdk" jre.
NOTE: The "alternatives" listed in step 4 seems to be some kind of program that creates symlinks for whatever you want, & labels them. When you install, or create the symlinks, you can then use "alternatives" to switch back & forth between the different programs that you make the symlinks for. For example, you can make links for java in jdk6 & jdk7, & then switch to either one or the other, as you please. That way, you can have them both installed, while using only one at a time. You can type "alternatives --config java" to switch, or whatever name you used for the link. For help, type "alternatives --help".
INSTALL SDK
-You can follow these:
http://developer.android.com/sdk/index.html
http://fedoraproject.org/wiki/HOWTO_Setup_Android_Development
SETTING UP ADB
-Download the sdk & unpack it somewhere in your home directory. For example, I like to put mine in "~/Android-Development/sdk" (the ~ symbol is short for your Home folder).
-cd to your sdk tools location. For example, from my Home folder, I would type this:
Code:
$ cd Android-Development/sdk/tools
-NOTE: DON'T TYPE THE DOLLAR SIGN!!! I put it there because that's what you see in the terminal. It's only there for reference.
-NOTE: At any time, you can type "ls", or "ls -l" to see everything in the folder you're currently in.
-Now, execute the android program.
Code:
$ ./android
-Install Android SDK Tools & Platform-tools.
-Install 32bit packages. Since Android is a 32bit OS, you must install the 32bit packages regardless if whether your computer is 64bit or not.
Code:
$ sudo yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686
NOTE: In order to install packages with yum, you must do it as su. You can either type sudo before the command, or you can just type "su" & enter your password to become superuser. If you're new to the command line, it's probably better to use "sudo" instead, that way you won't stay logged in as superuser & potentially mess things up.
-Now, it's time to install the udev rules. Basically, they are the rules that govern whatever device you plug in with USB. You can find all the info on this page:
http://developer.android.com/tools/device.html
-Create an empty file named 51-android.rules to write in. We will create it in /etc/udev/rules.d/
Code:
$ sudo touch /etc/udev/rules.d/51-android.rules
NOTE: "Touch" is a linux command that you can use to create a new, empty file. To see more info on it, type "touch --help", or "man touch" to see the manual page for it. Of course, you can always google it, & anything else as well. Google "linux commands touch".
NOTE: Since this file is in the root user's directories, you will need to enter commands as superuser, or else it won't save. Either type "sudo" before the command, or, if you're comfortable with the command line, log in as superuser by typing "su" & entering your password.
-Now, you can use any text editor to write inside that file you just created. I like to use nano from the command line, so let's use that. ("nano --help", "man nano", google "linux commands nano")
Code:
$ sudo nano /etc/udev/rules.d/51-android.rules
NOTE: In linux, you can copy & paste without even "right-clicking" & selecting copy or paste from the menu. Instead, you can just highlight some text, & go somewhere else & press the mouse middle button to paste it. Highlighting text will automatically copy it, & pressing the mouse middle button will automatically paste whatever you highlighted. No need for "right-clicking" anything. You can do this for the next step.
-Now, from the webpage listed above, just copy & paste the lines with the USB Vendor IDs that you want to use. For example, for Asus, HTC, & Samsung, write these:
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
-Save & exit the file.
NOTE: In nano, you can always see important commands at the bottom of the screen. For example, to exit, you hold in the "control" button & press "x".
-Now, check the permissions of the file & make sure everyone can read it.
Code:
$ ls -l /etc/udev/rules.d/
-You should see something like this:
Code:
$ -rw-r--r--. 1 root root 639 Feb 5 14:08 51-android.rules
NOTE: The 1st line indicates whether it's a directory or not. The next 3 lines indicate Read, Write, & eXecute permissions for the user. The next 3 lines indicate Read, Write, & eXecute permissions for the group. The last 3 lines indicate Read, Write, & eXecute permissions for others. The 1st "root" means that root is the user. Root owns that file. The 2nd "root" means that the file belongs to the group root.
-If for some reason you don't see the "r" letters (meaning that it's readable) to the left of the file name, then just change the permissions. Add "read" permissions for all.
Code:
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
-Finally, if you didn't do it earlier, now's a good time to do this. Make sure the ADB folders are in your global PATH. This is so that you can use the ADB commands anywhere in the system, no matter what folder you're currently in.
-Return to your home folder.
Code:
$ cd
NOTE: In the linux command line, simply typing "cd" & pressing enter will bring you right back to your Home folder.
-There's a hidden file called ".bash_profile" in your home folder. You can see it if you LIST ALL:
Code:
$ ls -a
-Your global PATH is defined in there. Let's edit it to add the ADB folders.
Code:
$ nano .bash_profile
-You'll see that there's already one line in there with 2 entries that look like this:
Code:
PATH=$PATH:$HOME/.local/bin:$HOME/bin
You can use that as your example as to what the format should look like. The line begins with
Code:
PATH=$PATH:
Then there are 2 entries, with each entry separated by a colon. Each entry must be separated by a colon and NO space.
Code:
$HOME/.local/bin
is one entry, &
Code:
$HOME/bin
is the other entry. Now, we want to add our 2 ADB folders to the list. You can either add each path to your folder separated by a colon & no space, like the example, or you can start your own line. I always like to start my own line underneath that one. So, for example, here's what my new line looks like:
Code:
PATH=$PATH:$HOME/Android-Development/sdk/platform-tools:$HOME/Android-Development/sdk/tools
-Everyone likes to use different folder names. Remember to use the proper path of where you put your folders in.
-Save & exit the file. That's it. Now, reboot your computer, plug in your android device, & test it out. You should be able to type "adb devices" from any folder, & the computer should be able to see it now.
INITIALIZING YOUR BUILD ENVIRONMENT
-For me, this was the hardest part of the whole process, as there wasn't a lot of help on how to do this for Fedora with KDE. Whatever few guides for Fedora I found out there were usually missing something here & there. My goal is to change that & help everyone. I've gone through this multiple times now, including multiple reinstalls of Fedora 18 from scratch.
-You'll need to install lots of drivers & libraries.
NOTE: Use Apper, the software management program, to look up drivers & libs. Apper will show you many different files that have the name that you typed in, whereas yum won't. Personally, I like to look things up with Apper so I can get lots of hits, & then actually download them by typing them in manually with yum. Yum shows you what it's actually doing behind the scenes while it's downloading things, whereas Apper doesn't. If yum gets stuck & hangs, you can actually see what's going on, whereas Apper won't show you anything & will just leave you wondering what's going on.
NOTE: I have found it to be a good idea to always look for the development (-devel) version of anything that you have to install. Not everything has a development version, but some do. For example, if you look up "flex" in Apper, you'll see that there's also a "flex-devel". Be sure to download them both.
-Here is what I went by:
http://fedoraproject.org/wiki/HOWTO_Setup_Android_Development
http://source.android.com/source/initializing.html
http://wiki.cyanogenmod.org/w/Main_Page
http://wiki.cyanogenmod.org/w/Build_for_maguro
-I used the lists on the fedora page, & I also used the lists of required packages for Ubuntu 10.04 & 12.04. I chose to try a build for Samsung Galaxy Nexus, since that's what I have. While going through the Ubuntu lists, you must keep in mind that some of these packages don't exist for Fedora, & many others do exist with slightly different names. It is best to spend some time & look them up 1 at a time using Apper. For example, typing "libxml2-utils" into Apper shows nothing, but typing in "libxml2" shows results. Finally, whatever you still can't find, you must google search it. For example, google search = "fedora libxml2-utils" You'll get clues & answers from what other people have already found about them. I mainly used the Ubuntu lists of necessary libs to download. So, without further ado, here's everything that I did that works for me...
Code:
$ sudo yum install git gnupg gnupg2 flex flex-devel bison bison-devel gperf gcc gcc-c++ make automake kernel-devel zip curl zlib zlib-devel glibc glibc-devel ncurses ncurses-devel xulrunner xulrunner-devel libX11 libX11-common libX11-devel xorg-x11-proto-devel readline readline-devel mesa-libGL mesa-libGL-devel mesa-libGLU
NOTE: You won't need mingw32 & tofrodos.
Code:
$ sudo yum install python-markdown libxml2 libxml2-devel libxslt libxslt-devel perl perl-devel perl-Switch SDL SDL-devel wxGTK wxGTK-devel squashfs-tools pngcrush schedtool
NOTE: If you installed Fedora with the options for development programs, than some of these will be installed already. This list may be a slight bit of overkill, but I purposely wrote down everything anyway, so that way nobody misses anything. I went through hell when figuring this out, so it's better to be safe than sorry.
NOTE: If you've been doing everything logged in as superuser, be sure to exit su when you're not installing things anymore. If you create directories as root user, you won't have permissions to access them under your own name, unless you manually change the permissions. Other permissions issues can arise too.
-After all this, it's just a matter of installing the directories & repo, & following the remaining directions on the CyanogenMod Wiki build guide page. I wanted to sync up with the Jellybean branch, so as an example, I set my directories up like this:
Code:
mkdir Android-Development/Builds/bin
mkdir Android-Development/Builds/CM10.1_Jellybean
-Whenever I download the repo command, I do it like this:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/Android-Development/Builds/bin/repo
-You'll need to add this to your global PATH as well, so be sure to do that, then log out & back in again, or reboot to make it active. Do that, & then continue.
-Then, I go inside the CM10.1_Jellybean folder to do the repo init. (Get ready for repo sync. That takes hours!!!)
-That's pretty much it. : ) Be sure to read through the sites & all their instructions & guides to help you understand everything.
!!!WARNING!!! Here is what I mentioned all the way at the beginning. Please don't forget the most important thing of all: those damn hidden ".directory" files. Any time you change the folder views in Dolphin File Manager, it places a hidden ".directory" file in that folder. THESE HIDDEN FILES WILL DESTROY YOUR BUILD!!! I went through hell with this, trying to figure out what was going on. I always set up the Android folders to show in "details" view mode, so that they're easier to see. Every time I tried to build, it would build for 5 or 10 minutes, & then fail, citing errors in java. I eventually realized that the ".directory" files were the cause of all the problems.
If you change the folder views, you need to get rid of those hidden ".directory" files. You'll have to do it in terminal. A good way to do it is by using the "find" command to find them all, & then pipe the output of that into the "rm" command to remove (delete) them all. ("find --help", "man find", google "linux commands find")
The "find" command can find whatever you're looking for in the current directory, & in all of its sub-directories as well. With the "rm" command, you can also use the "v" option. "V" stands for "verbose". It will show you everything that is being done, as it's being done. As an example, here's how I do it on my computer:
Code:
$ cd ~/Android-Development/Builds/CM10.1_Jellybean
$ find -name .directory -exec rm -v '{}' \;
That will find all of the ".directory" files & delete them all. It works pretty fast too. With the "v" option, it will show you what's going, while it's happening, as well. So, if you're like me & think that it's much easier to see huge lists of folders in "details" view mode, feel free to set it for the current directory & all sub-directories as well. However, DON'T FORGET TO DELETE all of the ".directory" files before you start building, or your build WILL FAIL!!!
Well, as you can see, you can customize some things to your liking. There's plenty of learning involved, so be ready to spend lots of time with everything. Good luck, & have fun!!!
Now, I'd like to add a personal note. After all this, I'm able to build Android from source with no problem now. However, I tried porting CyanogenMod & building ClockworkMod recovery for some Ainol Tab that I have. Long story short, in the end, it didn't work. I learned about having to build your own device tree, & I found myself completely lost in a sea of xml & java that I didn't understand at all. That's when I realized how much I don't know. It's also when I quickly realized the good advice of cyanogen himself...
http://forum.xda-developers.com/showthread.php?t=667298
"... Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. ..."
His advice is dead on accurate. Now I know why he says the things he said. I have no previous experience with java, or any other programming language. In trying to do these things, I found myself completely lost in code that I didn't understand at all. How can I possibly mess around with entire ROMs when I don't even know what's going on under the hood???
Since then, I've been concentrating most of my spare time learning java. It's a bit overwhelming to say the least, but I am getting it now. Recently, I took a peek back at all the code that confused me before, & I'm actually starting to understand it all now. I'm no longer lost. Studying java (& xml) is actually working, & quite well too. I can personally confirm cyanogen's advice to be spot on, & well worth listening to.
So, in conclusion, if you're wanting to get into messing around with ROMs & stuff, but you have no programming experience, I think it would be best to take cyanogen's advice & start at the higher levels first. Learn some java (& xml), & learn to build a simple app or two for Android. You'll better learn how the system works that way. That's what I'm doing now, & it's really working for me. Doing this should help you out with ROMs, & app development too. Well, I hope this is helpful to everybody looking to get into all this stuff. Good luck, & have fun!!!
Glad I'm not the only Fedora user building android around here. I admit, I'm no good at java, but I have really only been focusing on kernel stuff for my device. Good luck to anyone using this.
XirXes said:
Glad I'm not the only Fedora user building android around here. I admit, I'm no good at java, but I have really only been focusing on kernel stuff for my device. Good luck to anyone using this.
Click to expand...
Click to collapse
I guess different people will have different experiences depending on what kind of knowledge they have. For me, I ran into trouble when I tried to port CyanogenMod to a different device on my own. I found that my knowledge was not quite up to par. Studying java is helping me in regards to both ROM development, & app development as well. It's just what I need because I also want to make games.
Very nice guide. I can tell you spent a lot of time putting this together. thank you!
I already had a mostly working Android SDK, and was successfully building kernels for my Ainol Elf2. However, I was never able to build the Elf2 ported version (by Christian Troy) of Cyanogen 10. Perhaps after starting over with my Java installs, this will work now. I have had the Android SDK installed for quite some time, but after v4.2, it would no longer update itself. Now it does.
Not that I want to use 4.2 on my Elf2. I hate they dropped Bluez and now USB Bluetooth dongles no longer work. That is a show stopper for my Elf2. However, my newly purchased Samsung GS3 might benefit nicely. I plan on starting to build a new kernel for this tonight.
BTW, I am still on Fedora 14 32bit, because I also hate Gnome 3 and the latest KDE's as well. My F14 is still kicking along just fine, with updates manually compiled by me.
Nice Job!
Thanks for sharing!! Good job!!
lexridge said:
Very nice guide. I can tell you spent a lot of time putting this together. thank you!
I already had a mostly working Android SDK, and was successfully building kernels for my Ainol Elf2. However, I was never able to build the Elf2 ported version (by Christian Troy) of Cyanogen 10. Perhaps after starting over with my Java installs, this will work now. I have had the Android SDK installed for quite some time, but after v4.2, it would no longer update itself. Now it does.
Not that I want to use 4.2 on my Elf2. I hate they dropped Bluez and now USB Bluetooth dongles no longer work. That is a show stopper for my Elf2. However, my newly purchased Samsung GS3 might benefit nicely. I plan on starting to build a new kernel for this tonight.
BTW, I am still on Fedora 14 32bit, because I also hate Gnome 3 and the latest KDE's as well. My F14 is still kicking along just fine, with updates manually compiled by me.
Nice Job!
Click to expand...
Click to collapse
Thanks!!! Yes, I did spend quite a bit of time on it. I always try to do everything as perfect as I can.
What a coincidence... It was messing around with my Ainol Novo7 Crystal tab that really pushed me into this journey of learning. I think that one & the Elfii are almost the same. That Christian Troy guy seems to be an absolute Linux master. I hope I can be as good as him someday.
I think many people should use Fedora. It may not be so easy for beginners, but the more people that help by writing helpful guides for different things, the easier it will be to transition to. It's really great. I even run it on my little Acer Aspire One A522 netbook with no problems.
Sent from my Galaxy Nexus using xda premium
PotatotreeSoft said:
Thanks for sharing!! Good job!!
Click to expand...
Click to collapse
Thank you!!! I hope it helps many people.
Sent from my Galaxy Nexus using xda premium
Thanks for "going the extra mile" (x10!) and taking the time to lay out such a well-organized procedure. Describing potential pitfalls is quite valuable as well. Sharing learning experiences helps everyone. And good luck with Java.
!!!WARNING!!! Here is what I mentioned all the way at the beginning. Please don't forget the most important thing of all: those damn hidden ".directory" files. Any time you change the folder views in Dolphin File Manager, it places a hidden ".directory" file in that folder. THESE HIDDEN FILES WILL DESTROY YOUR BUILD!!! I went through hell with this, trying to figure out what was going on. I always set up the Android folders to show in "details" view mode, so that they're easier to see. Every time I tried to build, it would build for 5 or 10 minutes, & then fail, citing errors in java. I eventually realized that the ".directory" files were the cause of all the problems.
Click to expand...
Click to collapse
You can disable this via:
Menu: Settings > Configure Dolphin > General > Behaviour and set it to common view for all folders. Found here
hi, im stuck ins this step
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/Android-Development/Builds/bin/repo
how can i make this work??
what im missing??
sorry and thanks
plmosqueda said:
hi, im stuck ins this step
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/Android-Development/Builds/bin/repo
how can i make this work??
what im missing??
sorry and thanks
Click to expand...
Click to collapse
Oh, hello. Sorry, I've been away for a very long time. It's cause I'm so busy trying to fix my screwed up life.
Were you still having trouble with this??? Does anything happen at all when you type the command??? I haven't done this in quite a long time now, but if I remember right, I think that this command looks like it doesn't do anything, but it really does. Be sure to check your folders for the repo command afterwards. Curl is a program you can use for downloading things. As long as you have it installed, it should at least tell you something when you type it in. By the way, nice Gameboy.
3ndymion218 said:
Oh, hello. Sorry, I've been away for a very long time. It's cause I'm so busy trying to fix my screwed up life.
Were you still having trouble with this??? Does anything happen at all when you type the command??? I haven't done this in quite a long time now, but if I remember right, I think that this command looks like it doesn't do anything, but it really does. Be sure to check your folders for the repo command afterwards. Curl is a program you can use for downloading things. As long as you have it installed, it should at least tell you something when you type it in. By the way, nice Gameboy.
Click to expand...
Click to collapse
Done XD, i was having ṕroblems with the global path. Well in now in Arch. All works fine, im trying to make a custon recovery for alcatel Ot 983
A bit late to the party but just found this great guide , too bad I didnt find it one year ago It took me almost a full day to figure all this out using Eclipse Kepler to dl the sdk and Nano to write new rules (had to find the rules...) ...
But all in all once you have done it one time seems to me the process is more straitfoward than with a comparable ubuntu system
this well written guide deserves more publicity!
Thanks!

Root ANY LG G4 Variant 100% Success Directives | Root Injection | Less Bricks

Hi everyone. As I found out there's root for the G4 but doing this isn't easy especially if your variant is hard to find or has less users. This may result in you waiting for longer than you should. This thread is for those who can take things into their own hands and do it themselves. The tools are available everywhere but I'll give you the best order and steps. I'm using the China LG G4 H818 Dual SIM variant but this method is UNIVERSAL FOR ALL LG G4s.
The process will involve extracting a system image, injecting root and reflashing this image. Most of the steps are effortless and need just copy and paste with keen eyes. Do it slowly. You need an Ubuntu installation for step 2 of this 3-step tutorial. I used universal USB installer and put in on my 8GB USB. Anywhere will do so far as it boots&works. Beware this thread is not dumb-proof but this will not wipe your data or void your warranty if done successfully.
Step 1 -> Getting the proper system image.
Check here and skip to step 3 if you have your rootedsystem.img
>Don't worry because this doesn't require searching. It is from your device. Every device has a system partition and this method will pull it out as an image without root required.
1--Make sure all drivers are installed properly. I'll not be talking about this. We're on XDA not kindergarten.
2--Download the LG_root file or send command file from here and extract it. US Carrier specific check here
3--Put your device in download mode and connect it to your PC.
4--Open(double-click duh) port.bat and make sure to write down the number after com. There maybe different com numbers but choose the com on the DIAG1 line and write down that number. This is important.
5--Hold shift and right-click in any empty space in the extracted folder. Choose open command windows here.
6-- In that copy and paste this
Code:
[FONT=Lucida Console][COLOR=#ff8c00]Send_Command.exe \\.\COM[/COLOR][COLOR=#00ff00][*insert your number here][/COLOR][/FONT]
7--Now you're in send command mode. Nothing looks different on your phone but that's ok. It should just remain in download mode.
8-- On the computer screen in the window you now see #.
9--Now in this post copy the Backup system to internal storage command specific to your device model number. Check in you settings >general >about if in doubt. This is the most important step. Copy the whole line of code. Highlight with your mouse, select everything on the line and copy.
10--You didn't come all this way to fail so do it. Remember it is device model specific.
11-- Paste it in the command window and hit enter. It should take a while so wait until you see#reappear.
12--Now typeLEAVEall in capital letters. Your device will reboot. Check using the file manager if you have a file called system.img in your internal storage. If yes step 2 is next and you did well. If no repeat it and follow the steps properly. Make sure drivers are installed especially windows 10/8/8.1 users. Check device manager
Step 2 -> Root injection.
1--Prepare your Ubuntu USB or virtual machine or computer.
2--Download inject_root zip from here and extract.
3--Copy the system.img from your phone to the extracted inject_root folder on your PC.
4-Reboot into Ubuntu.
5--Here open a terminal.
6--Gain root access on Ubuntu by typing or copy and paste sudo -i
7--You should either be asked for your password which you have to enter or if you used a USB drive like me you'll see the name change to[email protected]
8--Navigate to the inject_root folder by using cd commands. This can also be done by typing cd then [space] then dragging and dropping the folder into the terminal and hitting enter.
9--You'll now see the name in the terminal become longer with the name of the folder in it.
10--Now type chmod +x autoroot.sh
11--Hit enter then sudo ./autoroot.sh
12--If you get any thing like command not recognized or something of the sort use sudo sh autoroot.sh
-That worked for me.
13--If you're successful the name of the file should change from system.img torootedsystem.img
-Please note don't rename the files. Leave them as they are.
14--Now go back to Windows let's finish this.
Step 3 ->Root
1--Transfer the rootedsytem.img to your phones internal storage.
2--Put your phone in download mode and connect it to your PC.
3--Get into send command mode as in step one.
-Put your device in download mode and connect it to your PC.
-Open port.bat and make sure to write down the number after com. There maybe different com numbers but choose the one that has DIAG1 on the same line as it. Note it down this is important.
-Hold shift and right click in any empty space in the extracted folder. Choose open command windows here.
- In that copy and paste this
Send_Command.exe \\.\COM[*insert your number here]
-Now you're in send command mode. Nothing looks different on your phone but it's find. It should just remain in download mode.
4-Now grab your command to flash system.img line of code from this post. It isn't the same as step one. Copy that an paste in the command window. Make sure it is for your device. They are model specific.
5--This should take a while so wait until you see the # again.
6--After thatLEAVEand upon reboot you should have root.
To Un-root just flash a KDZ file compatible with your device here.
Testimonies
Spudnubs said:
Rooted H812 10g for my fellow Canadians. Enjoy!
https://www.androidfilehost.com/?fid=24052804347821979
Click to expand...
Click to collapse
Wildsheep said:
This root method works for my G4 purchased in Singapore (H815 SEA)
Click to expand...
Click to collapse
luongquang said:
Thanks to @hackarchive, H818p10f done with tut.
Click to expand...
Click to collapse
player911 said:
Fantastic. This method will also ease devs for future rooted firmwares. I really cannot see LG being able to patch this, since this is basically a 3rd party LG Flashing tool. If they block this method, then their own tool will ultimately die with it.
Click to expand...
Click to collapse
GavTheStoner said:
Fantastic! I had almost given up hope of root on my EE LG G4. Have just used this method and now rooted perfectly!
hackarchive You rock! Have a thanks!
Click to expand...
Click to collapse
articular said:
everything worked fine and i successfully got my g4 rooted
my variant is H815TR
all steps easy only the ubuntu part was a bit hard especially for a windows user ( finding an ubuntu version and usb install etc. not root injection part)
ty ty ty again )
Click to expand...
Click to collapse
rirozizo said:
if it were for me to decide if we should delete the low effort root method, i'd totally delete it.
"The more 'manual', the better"
Click to expand...
Click to collapse
Moe5508 said:
Only method that roots my device successfully...I updated to 10e of the H815P and using this method (and only this!0 I was able to root my phone...ah felt so good...
The other 1-click rooting methods I came across in other parts of this forum just fail on the G4...
Click to expand...
Click to collapse
Marshmallow and root situation read here
Hit thanks if you appreciate. Hope I helped.
Credits to them whom without this won't be possible :good:
Thecubed
Team Codefire
ManhIT
This is a good method, thanks for writing this up.
I would like to add a few points....
I recommend you do keep your original system.img on your phones regular internal storage. If you encounter any boot issues you can then re-enter download mode and write the original system.img over the top of the failed root attempt. Use the same command from "step 3: root" but replace rootedsystem.img with system.img. This should still be on your phone from step 1 and will recover your phone from a failed root injection attempt. Note that it will not recover your phone if you messed up the dd command and overwrote other partitons. Be sure to use the right dd command and cut n paste to prevent seek/offset typeos.
I also recommend that you keep a backup of your system.img on your pc. When you run autoroot.sh in step 2 the copy on your pc will be renamed and patched. I suggest copying system.img somewhere else first, or re-copy it off your phone.
Additional credits to blog.lvu.kr. This is the blog of the hobbyist who reverse engineered the download mode protocol, created send_command.exe and gave it to the world. Kudos to you.
How is this any easier than the original method....if anything this requires even more work
kyle1867 said:
How is this any easier than the original method....if anything this requires even more work
Click to expand...
Click to collapse
It's for those who have rare variants.
psycho_asylum said:
It's for those who have rare variants.
Click to expand...
Click to collapse
Then you should probably take out the claim that this method is easier from the OP
Can this be used to inject Xposed as well for those of us with locked BLs.
djkinetic said:
Can this be used to inject Xposed as well for those of us with locked BLs.
Click to expand...
Click to collapse
No, we need to wait for a custom recovery.
psycho_asylum said:
No, we need to wait for a custom recovery.
Click to expand...
Click to collapse
Just used flash fire it worked rocking xposed now on 810!
djkinetic said:
Just used flash fire it worked rocking xposed now on 810!
Click to expand...
Click to collapse
Oh nice! I wasn't adventurous enough to try it. I'll make a system backup and give it a whirl!
Very nice thread, thank you. The steps were short, few, and fairly concise.
I was waiting for something like this where I could modify my own image and I wouldn't have to wipe everything or replace it with a new image.
One thing you might want to mention is that if your phone is encrypted, you'll need to unencrypt it first.
Can anyone link me to some instructions on how to disable OTA updates for an unlocked/international H815T?
kyle1867 said:
How is this any easier than the original method....if anything this requires even more work
Click to expand...
Click to collapse
This is what XDA is all about. It tells you how to inject root into your OWN system image. it's the opposite of spoon feeding. it's about teaching members how to do things for themselves. Too many people come here expecting to be spoon fed and have thigns done for them. This thread teaches people how to do their own work, while learning something at the same time.
Good work OP! :good:
the_scotsman said:
This is what XDA is all about. It tells you how to inject root into your OWN system image. it's the opposite of spoon feeding. it's about teaching members how to do things for themselves. Too many people come here expecting to be spoon fed and have thigns done for them. This thread teaches people how to do their own work, while learning something at the same time.
Good work OP! :good:
Click to expand...
Click to collapse
Thanks. I guess people don't know what XDA is about. Seeing noobs and others trying to spit on hard work when I used my time and device as Guinea pig. Also people don't know this is almost brick-proof because the system image if from their devices. Unless they use wrong commands but all here is just copy and paste. They see lot's of text and get cold feet. Anyways will be updating the OP with system images. If yours is available please share. If you see your image available and you have drivers and LG_root downloaded proceed to step 3.
The only downside is that I have to drag out my windows laptop instead of doing everything on the ubuntu machine I use at work.
But if that's the biggest of my problems then I don't really have a problem
hi, thx for this tutorial, looks good
when flashing back the rooted img,does it wipe everything ? apps, data ... etc
thx
EDIT: just correct me if im wrong
using this method WILL NOT wipe everything on my device cause im rooting my system with everything on it
correct ???
must make sure before i go ahead
thx
How to calculator extractly bs/seek/count ?
Is there a possibility of any personal data being written to /system on a phone during normal use? I can provide 10c Optus AU (carrier 505-02) if I can be sure its not identifying, but ive been using the phone a couple of weeks.
Download link:
https://www.androidfilehost.com/?fid=24052804347799013
optiplex2012 said:
using this method WILL NOT wipe everything on my device cause im rooting my system with everything on it
correct ???
Click to expand...
Click to collapse
correct.
---------- Post added at 06:01 PM ---------- Previous post was at 05:29 PM ----------
djkinetic said:
Can this be used to inject Xposed as well for those of us with locked BLs.
Click to expand...
Click to collapse
HTCuser90 said:
How to calculator extractly bs/seek/count ?
Click to expand...
Click to collapse
I would also like to know this. You can resolve system by running the following. Note that this is for the H815T and is not the same on all variants.
# ls -lZ /dev/block/bootdevice/by-name/system
You'll get something like:
lrwxrwxrwx root root ubject_r:block_device:s0 system -> /dev/block/mmcblk0p47
Which tells you the actual block device (partition its on).
And you can see the size of that with:
# cat /proc/partitions
where you see:
major minor #blocks name
<snip>
259 15 4239360 mmcblk0p47
<snip>
However I dont know how to identify how large a block is or how to calculate the start offset in the main partition.
ok, it worked great
wasnt easy, since im not so familiar with using ubuntu, but all is ok
the explanation of the how to... was great and nothing lost
my H815L is now rooted
thx guys
djkinetic said:
Just used flash fire it worked rocking xposed now on 810!
Click to expand...
Click to collapse
I know it's kind of going off topic, but I figured I'd mention that Flash Fire doesn't work on VS986. It just goes to a black screen and sits there forever. I left it sit for almost an hour. I saw elsewhere it has something to do with automount, I'll have to mess with it further.
hackarchive said:
Hit thanks if you appreciate. I spent hours trying to root so hope I helped.
Click to expand...
Click to collapse
Appreciated but you should include a way to unroot (undo) as well, ie how do we get back to stock (if required) ?

Categories

Resources