Is there a better method of getting detailed information about an android phone than running "adb bugreport"? Running it produces a wall of text that could take an hour to sift through. Are there any desktop UI applications or Eclipse views that can can allow you to browse all this info?
Check out ChkBugReport, an open source tool written by Sony Developers.
Github link to source code is here
I personally use BugSense with my Android applications. It allows you to send detailed information about application crashes to your BugSense Dashboard. The reports contain OS information, device information, information about whether the user was connected to WiFi, Data, if GPS is turned on, a stack trace of the exception, and really nice graphs that show you various issues. The issue some might have about this is that it sends the crash information without any user input, so it might be something to prompt the user about before sending.
As far as using things in Eclipse the DDMS tool may help. It's built into the debug view in Eclipse if you have the ADT Plugin. If you'd rather not use it with Eclipse, it also comes installed by default in the Tools folder of your SDK path.
I'm not entirely sure the BugSense thing is what you're looking for, but I find it very useful. Other than that, DDMS is really the best tool that I know about. Hopefully you find this helpful.
Related
Okay, here's where I'm at. I used Eclipse to import the code for the SMS/MMS app that is on Android devices. The code on GitHub is at https://github.com/android/platform_packages_apps_mms.git. I used the Import -> Git in Eclipse. Got the code into the environment. Had to manually paste the AndroidManifest.xml file into the project, and also copy over source and resource directories.
Basically, I want to get the Eclipse project to a point where I can run it on my device and it behaves JUST like the built-in app. THEN, I can modify it for my specific needs hopefully. I don't want to have to write all the SMS/MMS functionality from scratch if I can avoid it.
NOW, the problem is: A LOT of unresolveds. I keep reading various places where people are saying that some of the packages aren't REALLY in the SDK and are internal... Why the heck call it an "open source platform" when the source isn't available for the built-in apps that Google provides?! (If this is in fact the case). Further, why would they provide the code on GitHub for the MMS app if in fact not all the code is available and you can't compile it? Seems a little ridiculous to me.
I have read some answers to previous posts where I was just sticking my "toes into the water" so to speak, and people are saying that a lot of these packages are part of the firmware? Seems like there should be some base code for a texting/mms app out there somewhere.
Anyone know of any? (Open source, free, SMS/MMS Android code that I can easily obtain and that don't suck, if in fact I can't use Google's code?)
Thanks,
John
Mms as well as other system apps use private or hidden APIs that are not available through the SDK.
This has nothing to do with not being an open source platform, as you mentioned, but with the fact that you are trying to build the application in a way that is not supported and nobody says it was.
If you want to modify and build Mms, do it as part of the firmware build, using make, not importing the project to be built by the SDK in Eclipse.
The stock MMS app built into a device's original firmware, signed with a private key, and is able to use some private API.
Third party apps can't use the private API for various reasons, one being security. All the source is open if you wish to view it.
You can definitely build your own firmware, or ROM, as some call it, and run your own modified MMS app on it.
I don't know if you can make and install your own MMS app. You can find out by looking through the Play Store for similar apps or looking at the Android developer documentation to see what permissions and API are provided to third party apps.
I have been searching the internet wildly for an answer to this question.
We are creating custom android app for internal use only and we would be installing that on custom andoid devices. We would like to have full control of the device through the app. The end user of this device is not meant to use anything other than the app on this device. I have sealed out all the possibilities of getting out of the app except this one possibility where the program tries to update itself and asks for user permission.
Let me repeat again, This app is not meant to be put on market, only for use with custom devices designed for specific purpose. So security is not an issue here.
The device is rooted and we have done a lot of alterations with it. But I cant quite figure out how to make this update work.
If you have any ideas/solution please share it with me. I can do anything with my device, (even dig a hole in it if required :P) as they would be custom made, and would be packaged with us before going out. Just have to make it work.
If you are talking about internally installing the APK with like an update application specifically designed to update your other application which is not managed by Google Play you may want to look into this. So between xjaphx's answer and the link I just shared you will be able to install and maintain updates.
This is as simple as how it works.
Pre-condition:
Get devices rooted
Prepare Android development environment (Android SDK, platforms-tools)
A cable to connect PC and devices.
Steps:
Open command-line if Windows or shell if Linux
type: "adb push YourApp.apk /system/app"
That's done for installation of the app. Reboot and check whether your app works or not.
I would like to start looking at development for Android applications (nothing huge, just for learning). Before I begin, I would like to find out whether or not development on the Android phone I use daily would be corrupted or changed in some way if I used it as a development device.
I probably won't put anything on the Market, but I would just like to test out how everything "works" with Android development.
Any help that will guide me is great.
Thanks.
It shouldn't cause any problems at all. The only problem I can imagine is that you have to enable installation of applications from unknown sources (i.e. not the marketplace). You just need to be sensible not to go installing applications from dodgy places.
No, not at all! Sorry for the shortness of the answer, but that's it.
The only problem I can think of is writing to internal memory more than usual, but if you install a lot of new apps, the effect will be the same, so it's nothing special. And as alextsc said, if you write something and it doesn't work, just remove it, and that's all.
Not at all. But even better, when you set everything up (Eclipse, the Android SDK and the ADT Eclipse plugin) you'll also get an Android emulator that you can test your development projects on virtually.
Still, it's just fine (and recommended) to do testing on an actual device, but if you're just playing around, you can likely just use the emulator and only deploy to your device if the end result is something you'd like to show off to your friends!
Best of luck!
Hey in addition to the above answers,
You should actually test on your device when you are making an app that uses one of the following :
GPS, or wi-fi to get user location
when you want to use any phone sensor in your app
when you are trying to integrate camera/ camcorder in your app
also you might need to actually test phone call/sms functionality integrated in an app
otherwise the emulator just works fine
i am trying to run a non market app in my device. I am just trying to learn from that .apk file. The tutorial of the app says that it works good and fine. The app has worked in one of my device, but not working in other device. How can i know the errors which causing the app to get crashed....
I would suggest that you dont need to install and run the SDK to find out the stack trace. There are many applications available in the market that will let you view the log cat on the device.
I would beware though, that if you are not a software engineer, or dont have specific knowledge of android/java then the contents of the log might not be of much use to you.
Do you have an Android development environment set up? If you're using Eclipse, you can: connect your device via USB, select it in the Devices pane of the DDMS perspective, and watch the LogCat window for exceptions or other clues to the cause of the problem.
You can use remote stack trace plugin like http://code.google.com/p/android-remote-stacktrace/
I have an app in Android Market which is a standalone app that's essentially a full conduit to an SQLite Database(add, change, delete, inquiry). Some of my potential clients have asked to see a sample of my work, but they don't have an Android device.
Other than just showing them screenshots etc., is there a way I could have them go to a website where they can actually run it & check it out.
I'm thinking there would be a programming element involved (convert app to a mobile website essentially?), hence posted this question here.
Not quite sure where to get started. Any help would be appreciated.
You can use one of the patterns like MVC/MVP/MVVM to create your core library and then develop additional UI variants for different clients: Android, java applet etc.
Alternatively you can develop a mobile web site as you suggested and use simple android app to navigate built-in browser to it. This might be somewhat transparent to most users. I think Android MSN client uses such an approach.
I see 2 relatively easy options.
Give them an .apk designed to only
run on the emulator (you can check
the ID, the emulator ID is 00000...)
and they can boot up an emulator and
run it. If you're worried about them
reverse engineering your .apk you
probably shouldn't go down this
route. Or if you don't want them to
have to install the emulator
Set up a virtual machine and let
your clients remote desktop into it.
Give them permissions to only run
the emulator or however you want to
set it up