Related
Hi All,
After applying the S-OFF method (http://forum.xda-developers.com/showthread.php?t=794314) I noticed that the Splash screen changed from the white screen with HTC on it to an image with The Joker (from Batman) on it. Although I do like Batman movies, I wanted to change the splash screen.
For those who don't know, the splash screen has nothing to do with the bootanimation, which comes after the splash screen.
I searched the forum and found a thread to change the boot screen on the Droid Incredible. I followed part of the steps and tried it on my HTC Desire. The results are fine. I decided to make a little guide to change your splash screen.
In order to make a custom splash screen, you need the following:
1. Image editing program such ash Photoshop, Gimp etc
2. NBIMG command-line splash<-->image converter tool [Windows Download] or [Linux Download] (Original Dev Thread)
3. Android SDK http://developer.android.com/sdk/index.html
How to:
Download and extract the files linked above and place them somewhere familiar to you.
In your image creation/manipulation program, create a new image. Set the image size to 480x800. (If you already have an image in mind, open that and resize it)
Create/modify/customize the image however you like.
Save the image as splash1.bmp file. Ensure that you are saving the file as a 24bit RGB color bitmap. To make things easy, save the image in the same folder where you extracted the nbimg tool.
Open a command or terminal window and CD to your nbimg folder.
Type in the following command: nbimg -F splash1.bmp -w 480 -h 800
If successful, nbimg should have created an nb file called 'splash1.bmp.nb'.
Rename 'splash1.bmp.nb' to 'splash1.img'.
Boot your Desire into Bootloader and connect it to your computer
Open een command or terminal window and browse to the Tools folder which should reside in your Android SDK folder when you unzipped it.
Type in the following command: fastboot flash splash1 splash1.img
The output should be something like this:
Code:
D:\Android\AndroidSDK\android-sdk-windows\tools>fastboot flash splash1 splash1.img
sending 'splash1' (750 KB)... OKAY [ 0.125s]
writing 'splash1'... OKAY [ 0.218s]
finished. total time: 0.343s
13. Reboot your Desire and enjoy your new splash screen.
Thanks to:
* ieftm for S-OFF
* All the others who made S-OFF possible
* deficitism for the custom splash screen guide
REMEMBER: When you do follow this guide, you do it at your own risk. I do not, I repeat, DO NOT, take any responsibility when things go wrong. Feel free to submit any improvements whatsoever.
finally, the short version for (ubuntu) linux users:
read through the thread for minimum-requirements, such as s-off etc. i don't know if the phone needs to be rooted and am to lazy to find it out (since mine already was anyway).
download and install nbimg from http://pof.eslack.org/2008/07/03/nbimg-htc-splash-screen-tool/
create your .img-file as described in the first posting in steps
download fastboot.zip from the attachment of the following posting: http://www.pocketpc.ch/htc-desire-hd-root-rom/116448-anleitung-desire-hd-s-off-bootloader-flashen.html#post871105
you also might want to decide in which folder you want to keep it on your computer as a "program". if you are unsure, your /home/%USER/ folder will do just fine. – ... btw. unless you are familiar with creating symbolic links on command line i advise you to abandon any second thoughts about this issue after this step.
now open a terminal and type the following to "install" fastboot and make it easier to use later on command line (in fact just unzipping the fastboot archive and creating a symbolic link in /usr/bin/:
Code:
sudo apt-get install unzip
cd /path/to/where/you/are/storing/the/fastboot-zip-file/
unzip fastboot.zip -d fastboot
sudo ln -s fastboot/fastboot-linux /usr/bin/fastboot
do NOT move the folder "fastboot" or the file "fastboot-linux" afterwards, or you will break the symbolic link in /usr/bin/
keep the terminal open.
now change to the directory where you saved your splash-image files (those with the .img extension you created earlier with the nbimg-tool):
Code:
cd /path/where/your/splash/files/are/stored/
still keep the terminal open.
now boot your phone into bootloader mode (htc desire: press "power" and "volume down")
connect your phone to the computer and enable "FASTBOOT" mode in the bootloader (in my case, with clockworkmod, the line "FASTBOOT USB" in red uppercase letters appears on the screen, among other information shown)
now change back to your terminal/command line tool and flash the splash image on the phone:
Code:
sudo fastboot flash splash1 name-of-your-splash-image-file.img
voilà!
in my case, i got a "waiting for device"-message, and sometimes those error some got (something with splash -1 ...). firstly i thought that was due to me using a 64-bit computer, a faulty fastboot executable and so on. finally i found out, that i simply needed super user rights to successfully flash the image
Click to expand...
Click to collapse
I hope the phone number on the splash screen doesn't belong to the SIM-Card in your Desire
Good work btw!
geminga said:
I hope the phone number on the splash screen doesn't belong to the SIM-Card in your Desire
Good work btw!
Click to expand...
Click to collapse
lol +1..make sense.
Nice guide. Thanks.
Great guide! I like the idea of your contact details on the boot screen
Dude.. if you would like to make things a tad bit easier for people. Link them to my 1-click splash converter and flasher. Nice guide. Bit hard on the noobs lol. Anyway.. I'll leave a link.
http://forum.xda-developers.com/showthread.php?t=794638
Dan
danward said:
Dude.. if you would like to make things a tad bit easier for people. Link them to my 1-click splash converter and flasher. Nice guide. Bit hard on the noobs lol. Anyway.. I'll leave a link.
http://forum.xda-developers.com/showthread.php?t=794638
Dan
Click to expand...
Click to collapse
This didn't work for me, the program kept throwing a .NET error which is weird as Windows7 comes with .NET 3.5 with all service packs etc.
Even installed .NET 4.0
Mekrel said:
This didn't work for me, the program kept throwing a .NET error which is weird as Windows7 comes with .NET 3.5 with all service packs etc.
Even installed .NET 4.0
Click to expand...
Click to collapse
Strange.. can you post the error? or was it to do with nbimg?
danward said:
Dude.. if you would like to make things a tad bit easier for people. Link them to my 1-click splash converter and flasher. Nice guide. Bit hard on the noobs lol. Anyway.. I'll leave a link.
http://forum.xda-developers.com/showthread.php?t=794638
Dan
Click to expand...
Click to collapse
Great work man... Didn't see your thread. Actually this thread can be closed then.
And no the phone number on the screen doesn't belong to the sim inside the phone
Manual way is always better. At least you learn how to use the commands. I was going to post this
Oh and if your image is already the right size you only need "nbimg -F splash1.bmp".
Oh and no need to type >fastboot. Just fastboot works.
danward said:
Strange.. can you post the error? or was it to do with nbimg?
Click to expand...
Click to collapse
Sure thing mate, happens when I select the splash1.bmp
Uploaded with ImageShack.us
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IO.IOException: The process cannot access the file '.\splash1.bmp' because it is being used by another process.
at Microsoft.VisualBasic.FileSystem.FileCopy(String Source, String Destination)
at SPLASH_Flasher.Form1.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SPLASH Flasher
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Users/Mekerz/Downloads/SPLASH%20Flasher_1.2.2/SPLASH%20Flasher/SPLASH%20Flasher.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Click to expand...
Click to collapse
THX ... worked like a charm !
The 1Click Solution didnt work for me.... no error was displayed, but the splash didnt change....
Greetings
I am getting this error
C:\1\tools>fastboot flash splash1 splash1.img
sending 'splash1' (750 KB)... FAILED (status malformed (1 bytes))
finished. total time: 0.001s
Followed all instructions but still getting that error.
Help
C:\1\tools>fastboot flash splash1 splash1.img
sending 'splash1' (750 KB)... FAILED (status malformed (1 bytes))
finished. total time: 0.001s
chucic said:
C:\1\tools>fastboot flash splash1 splash1.img
sending 'splash1' (750 KB)... FAILED (status malformed (1 bytes))
finished. total time: 0.001s
Click to expand...
Click to collapse
Try reconvert. Have you used my tool?
yes, I used both your tool and tools inside SDK too.
But, if use i-click tool, will shows that image already used by other program and stop....
if use command by fastboot.....will shows Failed like that.
You've both flashed S-OFF first, correct?
chucic said:
yes, I used both your tool and tools inside SDK too.
But, if use i-click tool, will shows that image already used by other program and stop....
if use command by fastboot.....will shows Failed like that.
Click to expand...
Click to collapse
Yeah, I've got a easy bugfix coming out in the next 3 hours. Until then all you have to do is copy the "splash1.bmp" out of the "SPLASH Flasher" folder into another one and then open it from there. I tested it, I was able to reproduce the error. That is the fix.
Dan
ephumuris said:
Manual way is always better. At least you learn how to use the commands. I was going to post this
Oh and if your image is already the right size you only need "nbimg -F splash1.bmp".
Oh and no need to type >fastboot. Just fastboot works.
Click to expand...
Click to collapse
Manual is generally better for everything! lol
danward said:
Dude.. if you would like to make things a tad bit easier for people. Link them to my 1-click splash converter and flasher. Nice guide. Bit hard on the noobs lol. Anyway.. I'll leave a link.
h t t p://forum.xda-developers.com/showthread.php?t=794638
Dan
Click to expand...
Click to collapse
It is good to have the manual method written up for people that cannot use your tool i.e. everyone that refuses to run windows
chucic said:
yes, I used both your tool and tools inside SDK too.
But, if use i-click tool, will shows that image already used by other program and stop....
if use command by fastboot.....will shows Failed like that.
Click to expand...
Click to collapse
I also had this issue when trying to use ADB to flash new boot screen. Then realised that I actually had to enter fastboot on the phone as well... rookie error I guess - never done this before - but worked perfectly once I had entered fastboot - not just pressed Power+Vol down...
Hi
i try to compile a simple jni sample and get:
Please define SDL_JAVA_PACKAGE_PATH to the path of your Java package with dots replaced with underscores, for example "com_example_SanAngeles"
How should i do what?
Many thanks
Michael
Assuming you are doing all this stuff from a command prompt, enter:
C:\>SET SDL_JAVA_PACKAGE_PATH = "com_examples_SanAngeles"
C:\>
Note that this environment variable will only last for the life of the command window, if you start up a second one, you will have to type it in there, as well.
To set the value permanently, use Control Panel -> System.
Click the Advanced Tab, then the Environment Variables button, and add the value.
Hi
thanks for the reply but I get:
[email protected]:~/Android-cpp/projects/test$ SET SDL_JAVA_PACKAGE_PATH = "com_examples_SanAngeles"
SET: command not found
I saw some other alike below but still don't know how/where:
# Set environment to CrystaX NDK with RTTI and exceptions instead of original NDK
# export PATH=$PATH:~/src/endless_space/android-ndk-r4-crystax/ndk-build
Regards Michael
Post #2 above will not work, as it is for a Windows command prompt. You failed to mention the fact that you are running under Linux. Also from a command prompt, Linux is case sensitive, Windows isn't.
Under Windows 'SET' and 'set', even 'sEt' are the same thing, under linux they are all different.
For a crash course on Linux environment variables try the links below:-
http://www.codecoffee.com/tipsforlinux/articles/030.html
or
http://lowfatlinux.com/linux-environment-variables.html
Yes i might figure the syntax but how should i know the path?
I've installed android sdk and ndk both the latest.
Again thanks
Michael
I would suggest posting this in the Android Development section, but unfortunately, you need 10 posts to be able to do it.
I'm really a Windows/WinMo developer, with only a passing knowledge of Linux/Android.
You could PM the moderator of this forum, madnish30 and request to have it moved over, but you still will not able to reply until you have clocked up 10 posts.
ahso said:
Yes i might figure the syntax but how should i know the path?
Click to expand...
Click to collapse
It's not a filesystem path - it is a Java namespace path. As it is package-specific there's no way to say on given information what the corresponding path should be.
@rayman84
Yes, this is in the wrong forum. But im a 'noob' and I cannot post/reply in the dev sections just yet. Please move this thread to the relevant section.
Or better yet, add it as a reply to this thread: http://forum.xda-developers.com/showthread.php?t=1290503&page=1
First, some history:
The SBKDetect binary can be used in a 32bit Linux environment to grab some useful information for our brainy dev's.
In this instance, the dev team are asking for people who own Asus TF101/TF101G with serials beginning with B70 or B80 to run this binary while their tablet is in APX mode and copy/paste the results in the thread.
To run the binary in a 64bit enviro all you need to do is install ia32-libs
User 'thorntree' was experiencing problems running this binary in his 64bit Ubuntu enviro and was receiving the error
Code:
./sbkcheck: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory
My TF101G has a serial beginning with B90. I dont think there are any other users with a B90 that have run sbkcheck, so im very keen to run it. As im sure the devs are keen to get the results from this B90 TF101G.
---
Now the juicy bit:
(Disclaimer: I am by no meaNow the juicy bit:ns a Linux expert, so the process I went through below may be incorrect, but I seem to have made *some* headway, hopefully someone else can clean up and finish it off)
I was also experiencing this error on my 64bit Ubuntu (BackTrack5, actually) enviro.
- lsusb confirmed that my device is in APX mode.
- Using Aptitude I reinstalled libusb-1.0 and ia32-libs, this isnt the issue
- A find revealed that libusb-1.0.so.0 can be found in /lib and /usr/lib
- a 'strings sbkcheck' shows:
Code:
/lib/ld-linux.so.2
libusb-1.0.so.0
- So I assume that the binary is looking for the lib in /usr/lib32 as it doesnt specify an absolute path, sure enough, the file doesnt exist in /usr/lib32
- 'ln -s libusb-1.0.so.0 /usr/lib32/libusb-1.0.so.0' gives me error:
Code:
./sbkcheck: error while loading shared libraries: libusb-1.0.so.0: wrong ELF class: ELFCLASS64
(We are on the right track!)
- ls of /usr/lib32 shows a similar file 'libusb-0.1.so.4', so I removed the previous link and did a 'ln -s libusb-0.1.so.4 libusb-1.0.so.0'
- Now the error we get is:
Code:
./sbkcheck: symbol lookup error: ./sbkcheck: undefined symbol: libusb_init
- A strings of sbkcheck and libusb-0.1.so.4 shows that sbkcheck uses 'libusb_init' and libusb-0.1.so.4 uses 'usb_init'
- Changing either file above causes a 'Segmentation fault'
This is where I am stuck... Like I said, im not Linux expert or coder, but im guessing sbkcheck needs to be modified and recompiled so that is uses 'usb_init' instead of 'libusb_init' and it should work.
Hope the above helps...
Can one of you wonderful moderators please move this thread to where it belongs? Thanks!
I think you should get the 32 bit package, extract its contents, and manually copy the libusb.ko (the correct one), to /usr/lib32. The package you are looking for should be this one: http://packages.ubuntu.com/lucid/libusb-1.0-0, just get the i386 version and copy/link over. Should work.
The ELF class error is because you are trying to load a 64 bit library into/from a 32 bit application, which won't work. The other error is because that's not the library it's looking for, and thus it doesn't find what it needs.
Hope that helps
Here's how to use logcat:
There are two main ways to do a logcat, within android, and through adb.
Logcat within android can be done one of two ways, through a Logcat app:
Here are two good examples are either: aLogcat or Catlog
I prefer catlog, because in my opinion it has a little bit nicer UI. Both of these programs can dump their logs to a txt file, which is very useful for debugging. Or, you can do it in terminal emulator (same rules as running through adb(see below))
From Moscow Desire:
Moscow Desire said:
Just a little more info when doing logcat.
Remember, Logcat will run till you end the session. And it won't always create the file till you do so. It's possible you may not see the logfile for a minute or so.
Edit: For phones/tablets with internal storage & external sd:
(note that the location naming convention may be different depending on device)
Open your terminal app;
Type: logcat > /sdcard/logcat.txt (this should create it in internal memory on the tablet)
To send to ext sd card: logcat > /mnt/external_sd/logcat.txt
I use a tablet for example Phones may have a different naming convention.
MD
Click to expand...
Click to collapse
On the other hand, using adb to run logcat, in my opinion is much more useful, because you can start using it when android boots (i.e. once the boot animation appears.)
The code for logcat to output to a file is
Code:
adb logcat > name of problem.txt
you can also do
Code:
adb logcat -f name of problem.txt
how I prefer to do it is this way:
Code:
adb logcat -v long > name of problem.txt
with the -v flag & the long argument, it changes output to long style, which means every line of logcat will be on its own line (makes it a little neater, imo)
Note: When outputting to a file, you will see a newline, but nothing printed, this is normal. To stop logcat from writting to a file, you need to press ctrl+c.
Here's where using logcat (via adb makes life really easy)
Lets say you find a problem you're having after looking at a logcat.
For example:
When I was trying to use a different ramdisk, wifi wouldn't work so I got a logcat that's almost 1300 lines long (a lot of stuff happens in the background)
So if you are searching for an error in the logcat file (it's always e/ for error, f/ for fatal. Those are the two main things that will break a system.)
Code:
D/dalvikvm( 871): GC_CONCURRENT freed 472K, 6% free 10224K/10823K, paused 1ms+6ms
V/AmazonAppstore.DiskInspectorServiceImpl( 871): Available blocks: 21981, Block size: 4096, Free: 90034176, Threshold: 5242880, withinThreshold? true
D/AmazonAppstore.UpdateService( 871): Received action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
W/AmazonAppstore.UpdateService( 871): Confused about why I'm running with this intent action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
D/dalvikvm( 890): GC_CONCURRENT freed 175K, 4% free 9375K/9671K, paused 2ms+3ms
V/AmazonAppstore.ReferenceCounter( 871): Reference (MASLoggerDB) count has gone to 0. Closing referenced object.
E/WifiStateMachine( 203): Failed to reload STA firmware java.lang.IllegalStateException: Error communicating to native daemon
V/AmazonAppstore.UpdateService( 871): runUpdateCommand doInBackground started.
V/AmazonAppstore.UpdateService( 871): Running UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateCommand( 871): Not updating key: digitalLocker from: 1334228488057
V/AmazonAppstore.UpdateService( 871): Finished UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateService( 871): Running UpdateCommand: serviceConfig
V/AmazonAppstore.MASLoggerDB( 871): performLogMetric: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
V/AmazonAppstore.MASLoggerDB( 871): onBackgroundTaskSucceeded: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
W/CommandListener( 118): Failed to retrieve HW addr for eth0 (No such device)
D/CommandListener( 118): Setting iface cfg
D/NetworkManagementService( 203): rsp
D/NetworkManagementService( 203): flags
E/WifiStateMachine( 203): Unable to change interface settings: java.lang.IllegalStateException: Unable to communicate with native daemon to interface setcfg - com.android.server.NativeDaemonConnectorException: Cmd {interface setcfg eth0 0.0.0.0 0 [down]} failed with code 400 : {Failed to set address (No such device)}
W/PackageParser( 203): Unknown element under : supports-screen at /mnt/asec/com.android.aldiko-1/pkg.apk Binary XML file line #16
D/wpa_supplicant( 930): wpa_supplicant v0.8.x
D/wpa_supplicant( 930): random: Trying to read entropy from /dev/random
D/wpa_supplicant( 930): Initializing interface 'eth0' conf '/data/misc/wifi/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
D/wpa_supplicant( 930): Configuration file '/data/misc/wifi/wpa_supplicant.conf' -> '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 930): Reading configuration file '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 930): ctrl_interface='eth0'
D/wpa_supplicant( 930): update_config=1
D/wpa_supplicant( 930): Line: 4 - start of a new network block
D/wpa_supplicant( 930): key_mgmt: 0x4
(mind you, that's 29 lines out of 1300ish, just for example)
I then could do the following with logcat:
Code:
adb logcat WifiStateMachine:E *:S -v long > name of problem.txt
and this will only print out any errors associated with WifiStateMachine, and anything which is fatal, which makes it about a million times easier to figure out what's going on!
In WifiStateMachine:E, the :E = to look for Errors, the full list of options is as follows:
V — Verbose (lowest priority)
D — Debug
I — Info (default priority)
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)
You can replace the :E with any other letter from above to get more info.
In order to filter out anything other than what you are looking for (in this case, WifiStateMachine) you must put a *:S after your last command (i.e. WifiStateMachine:E ThemeChoose:V ... ... AndroidRuntime:E *:S)
Sources: http://developer.android.com/tools/help/logcat.html
http://developer.android.com/tools/help/adb.html
Update for windows users:
Thank go to FuzzyMeep Two, Here's what he's posted for windows
FuzzyMeep Two said:
I have made a tool to simplify this for people. I will send you the .bat version, to see the validity of the file, and post the .exe for everyone else.
http://logcat-tool.googlecode.com/files/logcatHELPER.exe
I made this in about a half hour, so if you fnd any issues let me know. I believe i worked out all functionality issues, and do plan on expanding functionality in the future.
Click to expand...
Click to collapse
(If you used his tool, here's his post, thank him for his work!)
Very nicely done, now i have something i can refer people to
Perfect tutorial. Well done. ... I'll translate your tutorial into my language to share it other people.
pRo_lama said:
Perfect tutorial. Well done. ... I'll translate your tutorial into my language to share it other people.
Click to expand...
Click to collapse
Thank you! And thanks for taking your time to translate it!
If you need me to clarify anything shoot me a PM, and I'll help! (Same goes for anybody else interested in porting to their language)
Pax
Very nice, but I do have a question (and I started programming for Android recently): What do you do when the system reboots while debugging (in my case musb_hdrc.ko)? I tried catlog, but the logs are empty... Is there another way to do that?
Thank you in advance
Krain said:
Very nice, but I do have a question (and I started programming for Android recently): What do you do when the system reboots while debugging (in my case musb_hdrc.ko)? I tried catlog, but the logs are empty... Is there another way to do that?
Thank you in advance
Click to expand...
Click to collapse
Use adb instead of an in-android method to capture the logs, you can start when the boot animation starts (note: Not when the kernel splash screen appears) and when it reboots, it'll automatically end. (i.e. run the following in command prompt:
Code:
adb logcat *:E > oh_nos_it_crashed.txt
)
If you're not getting to the boot animation (keeps cycling on the Kernel splash screen) then you have kernel issues, and you need a kernel that has integrated last_kmsg (a whole different ball of wax that I'm still learning about) to figure out what's going on. (kmesg's are direct kernel output)
Maybe if someone like AdamOutler (or any other Dev who has a much better handle on them than myself) were to explain them, it'd help
Pax
Hey man regarding your guide .
I was testing a built of cm9 from my htc one v and it wasnt booting so the dev told me to do a logcat for it .
Just wondering what the process and commands would be?
Thanks.
Just a little more info when doing logcat.
Remember, Logcat will run till you end the session. And it won't always create the file till you do so. It's possible you may not see the logfile for a minute or so.
But what if you can't connect ADB to your device? You can do this
(note that the location naming convention may be different depending on device)
Open your terminal app;
Type: logcat > /sdcard/logcat.txt (this should create it in internal memory on the tablet)
To send to ext sd card: logcat > /mnt/external_sd/logcat.txt
I use a tablet for example Phones may have a different naming convention.
Nice definition of the display terminology
MD
tranceph0rmer said:
Hey man regarding your guide .
I was testing a built of cm9 from my htc one v and it wasnt booting so the dev told me to do a logcat for it .
Just wondering what the process and commands would be?
Thanks.
Click to expand...
Click to collapse
What you'll wanna do is run the following,
Code:
adb logcat *:E > crash.txt
And look at the output file specifically for lines that say 0x0deadbaad (if you see that, that means there's a problem with the Java libraries it references above it) otherwise look for other F/ lines, that'll point you in the right direction.
If you're having issues where and is not accessible for to buy having USB debugging turned off because of doing a /data wipe (factory data reset) first install a similar Rom (in your case, a prior, stable CM9, boot into it, turn on usb debugging, reboot into recovery & only write /cache & dalvik cache before installing the offending Rom & getting your logcat (sorry if I rambled, just got done working a double )
Pax
Sent from my R800x using Tapatalk 2
Moscow Desire said:
Just a little more info when doing logcat.
Remember, Logcat will run till you end the session. And it won't always create the file till you do so. It's possible you may not see the logfile for a minute or so.
But what if you can't connect ADB to your device? You can do this
(note that the location naming convention may be different depending on device)
Open your terminal app;
Type: logcat > /sdcard/logcat.txt (this should create it in internal memory on the tablet)
To send to ext sd card: logcat > /mnt/external_sd/logcat.txt
I use a tablet for example Phones may have a different naming convention.
Nice definition of the display terminology
MD
Click to expand...
Click to collapse
Thanks, MD!
The problem is when you can't access terminal (bootloops, fc'ing like it's going out of style, etc.) that adb is really useful. Sometimes to trick the system into working, you can (esp with AOSP based roms) install a same version of android (I.e. 4.0.4) & not wipe /data (after turning on usb debugging) & still have an access (I learned this after spending about 2-3 months crack flashing my own builds & getting tired of titanium restoring all my apps)
Pax
Sent from my R800x using Tapatalk 2
Great guide, thanks! Found it through the portal. I just added to my sig so maybe it will help stop some of those questions.
paxChristos said:
What you'll wanna do is run the following,
Code:
adb logcat *:E > crash.txt
And look at the output file specifically for lines that say 0x0deadbaad (if you see that, that means there's a problem with the Java libraries it references above it) otherwise look for other F/ lines, that'll point you in the right direction.
If you're having issues where and is not accessible for to buy having USB debugging turned off because of doing a /data wipe (factory data reset) first install a similar Rom (in your case, a prior, stable CM9, boot into it, turn on usb debugging, reboot into recovery & only write /cache & dalvik cache before installing the offending Rom & getting your logcat (sorry if I rambled, just got done working a double )
Pax
Sent from my R800x using Tapatalk 2
Click to expand...
Click to collapse
Thanks for the info.
Will do that the next time i get stuck at the boot animation
can anyone tell me how to clear / reset logcat?
Thanks in advance
riteshbendre said:
can anyone tell me how to clear / reset logcat?
Thanks in advance
Click to expand...
Click to collapse
Why would you want to do that?
To my knowledge, the only way logcat is reset is if you reboot your phone.
That's why filtering your results is very helpful, because no matter how long it's been running, you can get the info that you want without extraneous information
Pax
Thanks for the clarifications
Man thank you so much for the awesome guide!
Now I can actually filter out my logcat results instead of searching through the entire log.
Sent using Tapatalk
Helpful Tool
paxChristos said:
Here's how to use logcat.....
Click to expand...
Click to collapse
I have made a tool to simplify this for people. I will send you the .bat version, to see the validity of the file, and post the .exe for everyone else.
FIXED HUGE ISSUE CAUSING EMPTY FILES
DOWNLOAD
PM or post here if you run into any issues. They WILL be addressed.
I have made a tool to simplify Logcat creation for people. The creation of this tool was inspired, and guided, by the thread started HERE by paxChristos.
UPDATE 4.1
Corrected an issue causing empty files.
apparently, if the process id contained a space ( 1234) the file would parse correctly, but if the numbers came up to the parenthesis (12345) it would output an empty file named ACTIVITY(12345) with no extension.
This was a huge issue, and i apologize for not seeing it sooner. It has been corrected, and the logcat tool works better than ever. I just ran through a 20,000 line logcat without any empty files appearing.
a couple more things to help with stability.
Underscores (_) will be replaced by dashes (-)
Brackets ([]) and arrows (<>) will be replaced with paranthesis(())
-------------------------------------------------------------------------------------------------------------
HUGE UPDATE
Added the ability to "SUPER PARSE" Files, which separates files into folders by log level and creates a TXT file for each activity
Super parse DOES NOT Work with LONG format Logs.
SUPER PARSE is in its infancy I do expect errors, please let me know if you run into anything.
OLD STUFF
EDIT V3.6 DONE
Added ability to filter logcats by activity name. (logcat -s "FILTER")
Fixed Log Level Setting
EDIT V3.5 DONE
NOW PROPERLY PARSES "LONG" FORMAT LOGCATS.
Thank you to Senior Member jes0411 for pointing out the issues that lead me to create V3.4 and 3.5. If any of you have an issue please let me know. It could be hours before i get to it or weeks, but i will get to fixing it.
EDIT V3.4 DONE
Changed the way the date variable was handled to hopefully fix issues experienced by users of non-English versions of windows.
EDIT V3.3 DONE
EDIT V 3.2 Finished
Google code won't allow any new uploads, so i uploaded the new update to XDA in a ZIP file.
Fixed ADB Location settings, some users were having trouble if they input the ADB folder with any quotation marks in the path name, it will now automatically remove quotation marks to ensure correct syntax.
Fixed issue with ADB Location setting not exiting to previous menu.
Fixed issue with Log Level setting not exiting to previous menu.
Capitalized some stuff
Added a feature that will automatically create the selected folder if no output folder exists and the user attempts to run a log.
Added a check when selecting an output folder that will ask if you want the folder created if it does not exist
EDIT V3.1 DONE
FIXED OPTIONS 7 & 8, URLS WERE MISSING A "?"
CHANGELOG EDITS
SAVES AND PARSES FILES IN TO DIFFERENT OUPUT FILES BASED ON LOG LEVEL (E , I , D , W , ETC)
LOGCAT TOOL v1.1 by FuzzyMeep TWO
I made this in about a half hour, so if you fnd any issues let me know. I believe i worked out all functionality issues, and do plan on expanding functionality in the future.
reposted HERE
Edit: source here.
Batch Source
EDIT: UPDATED TO V1.1
added the framework to add filtering to your logcat, it is in the exe, but not utilized yet (still bugy). i have also worked out a few minor bugs in this release.
Very nice tut. Will try
thanks a ton for the in depth guide. I was always fairly confused on how to approach this, so now I'll have something to refer to in order to help all of the awesome devs here.
mcmb03 said:
thanks a ton for the in depth guide. I was always fairly confused on how to approach this, so now I'll have something to refer to in order to help all of the awesome devs here.
Click to expand...
Click to collapse
+1
I'm using G'Five GPad 701 ( not a very popular device I know)
Android version: 4.2.2 (official ROM)
Kernel version: 3.4.5
[email protected] #2
(Any other information needed?)
I'm trying to connect to WPS network, but since it's not possible without pressing the WPS button on the router anymore after android 4.1+
I googled a lot and found that it's possible to connect to WPS networks using wpa_cli
I got the file and put it in /system/bin and modified the permissions (checked all boxes) but I'm not sure about "owner" and "group" , I've set them to : owner root, group root
Opening terminal and using:
Code:
su
wpa_cli
I get the following:
Code:
wpa_cli
wpa_cli v2.0-devel-4.1.2
Copyright (c) 2004-2012, Jouni Malinen <[email protected]> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Using interface 'wlan0'
Warning: Failed to attach to wpa_supplicant.
Could not connect to wpa_supplicant - re-trying
Warning: Failed to attach to wpa_supplicant.
Warning: Failed to attach to wpa_supplicant.
Warning: Failed to attach to wpa_supplicant.
Warning: Failed to attach to wpa_supplicant.
and it just loops on and on.
I've been trying to work around it for hours now and understand what's wrong, but I can't figure it out.
I tried changing permissions of wpa_cli , wpa_supplicant , wpa_supplicant.conf , and even all folders from root to /sockets
All other forums I found talk about wpa_cli in linux not android, and even trying their solutions did not work for me.
Anyone can help with that?
Hi there,
I'm sorry but I can't find anything relevant to your question/device.
Please post that in the forum bellow for more answers from the experts :
> Android Development and Hacking > Android Q&A, Help & Troubleshooting
Good luck