I have been mucking around on my Android tablet (rk2928, Android 4.1.1) at a low level, removing and replacing ROM apps and such... aaaand now I'm getting a few applications saying "Unfortunately, <application> has stopped.", and I suspect that some apps are missing or at the wrong version. If this were happening on a desktop system then I could use strace
or some other language-specific tool to see which part it's having trouble at, but I don't know how to do this on Android. What tools are available for tracing Android method or library calls on a device?
1 Answer
(If you've got adb enabled on your tablet and installed on your PC, skip the next two paragraphs)
If you've only been replacing apks, you'll need to enable Developer Settings
(Settings -> About tablet -> scroll down to "Build number" and tap seven times).
Then, go back, and into the developer options panel, and scroll down to the "debugging" section. Enable the "Android debugging option", and plug your tablet into your computer.
You'll also need the Android SDK. After installing it, navigate to the SDK folder, then the 'tools' subdirectory and run 'android'. You'll need to wait for it to load, and then check the platform tools package. Click install, agree to the license, and it will install.
Open up a command prompt/Terminal (Windows: Win+R cmd, Mac: Launchpad -> 'Other' -> Terminal, Linux: you know how), and navigate to the folder your SDK is located in using cd
(i.e cd C:\Users\bobby\android-sdk
or cd /Users/bob/android-sdk
). Then, run platform-tools/adb devices
. It should show up your tablet. If it doesn't try unplugging your tablet and repeat, and then try double-checking that you enabled USB debugging.
Now, simply run platform-tools/adb logcat
, and run the misbehaving apps on the tablet. You should see lots of lovely stacktraces and whatnot.
-
Excellent. I haven't completely solved the problems yet, but now I know where to look (and what to Google for). Commented Jul 1, 2014 at 18:23