remote logcat - Android Studio - android

Is it possible to see the logcat of an app that is on a distant device, in short, is it possible to logcat remotely?
I sent an app to a client, this is giving error in your device, I tested with the emulator in the same version, but the error only occurred with it.

Is it possible to see the logcat of an app that is on a distant
device, in short, is it possible to logcat remotely?
It is possible to connect device over wifi to perform debugging. You can refer to this document. However, it has limitation that both the device and the host needs to be connected to common wifi.
Since your device is in customer premises and cannot be under common wifi, there is no other way to perform remote debugging.
Alternatives:
1. For logical Errors
The best alternative would be to store logs in local directory (Internal storage or SdCard) and ask your customer to send these logs. You can use libraries like logback-android which facilitates this functionality at ease. You just need to perform some configuration.
2. For crash
You can integrate some crash analytics like Hockey app which will notify the crash along with the related stacktrace. If you want detailed information about pre-condition then you have to go for Alternative 1.

Related

How to detect users of my app who open it using an emulator on the PC

I have an app that has some unknown devices listed in the analytics portal I use.
I was wondering if Android and iOS have a method that I can call which tells me if the app has been downloaded and opened using an emulator?
I've thought of accessing the device's IMEI, but this is only for mobile phones and doesn't cover tablets. Any help would be greatly appreciated.
You can try filtering out the Connecting device's by their device's model number, name and id.
For that you first need your app to parse the data from the phone, and then send this data to your server while authentication.
The server checks the robots list and then authenticates the exceptions (genuine users).
NB: Nowadays emulators are updated, they are capable of spoofing a Device Name, Model and ID. So it's a hectic job to detect spoofer's.
Just a Mere Concept out of Thoughts, Might possibly work!
There are couple of methods out there. Android includes a built in method,but some of them can be maneuvered.
Android includes some system properties that keep such information. they can be accessed using the getprop utility and there are ways to get the problematically.
More specifically, the "ro.build.characteristics" will contain the word "emulator" when running on emulator.
Long story short: There are couple of libraries that are capable of doing this and are consider reliable.
Here is a good example:
https://github.com/framgia/android-emulator-detector
For iOS see this answer
As a side note. if you are concerned about having a safe environment to run your application, take a look at SafetyNet

phone log for android and ios

I am a java student, I am starting my internship next month
I have been given a project to research on, on an app that can download phone log(messages and phone calls) from an Android and IOS mobile
here's the little of what I've compiled
"the next generation of smartphone surveillance software. This mobile tracker application records the incoming and outgoing phone calls, sms and surroundings. It tracks gps locations, the browser activity and messages from applications like Whatsapp, Facebook, Viber, Skype and Line."
PLEASE HELP!!..any suggestions will be most appreciated
Thanks in advance
On Android, you'll be able request permissions to access:
Call logs - incoming and outbound
Messages - complete access, including content
Data use - Data use over WiFi and mobile network since the device was last turned on (not historical). There's also a "fun" bug that this API doesn't work well if the device WiFi is turned on.
You won't be able to get access to other applications information without a rooted device. Whatsapp messages, for instance, will be stored in a database in Whatsapp's private memory area.
On iOS, you'll have a much harder time. Access to historical call logs and messages is out of the questions on any non-private APIs (so if you access any, you can't publish the application). The same will apply for information from any applications.
Good luck.
In iOS you can view the logs within Xcode while running the project.
But Apple does not allow an app to download iPhone Messages and call logs. This is private data so such apps have strong chances of rejection by Apple review team.

Android app: logging on the device

I'm still fairly new to Android coding. I've made lots of use of the Log.d() function in my code to display lots of handy logging messages to the logcat console within the Android Studio environment, when I run the app with the device connected to the computer (or on an emulator).
Now I'd like to be able to get debug information from a user when the app is running on their device, hopefully showing the same Log.d() messages that I see in the logcat console within Android Studio.
I've done some searching but can't seem to find a straightforward guide as to how this is achieved.
Thanks.
You have to use a web server. First send the content of logd() to your server and then check them on your server. However, you may want to test your own apps instead of asking users to test. Google developer console has a place to show some debug information if your app crashed when users are using them.
You can use a webserver, file-backed logger, or any other way of saving/submitting data on the fly.
Most people will recommend either some form of integrated web service like HockeyApp, etc., but you can get it done just by sending a plain old text file if needed. FYI, not best practice, but it gets the job done.

Logging specific application's actions with adb

I've searched through Google's dev docs and some Android debugging tutorials, but I couldn't find any information on logging some specific information from installed applications.
I need to see all the files the application has accessed, all the SMS and call activity it made.
Something like this online security tool, https://anubis.iseclab.org, but on a local PC with a physical device.
Is there any way to retrieve this information from a device?

Get application logs from android

I've developed an Android 2.2 application.
My client has it and he said me that there is a crash that I can't reproduce.
To log errors I'm using android.util.Log; and ex.printStackTrace(); on every handled exception.
Is there a log about that error on device? How can I get those logs?
I could say my client to connect his device to PC and tell him where to look for those logs; copy them to his PC and send me by e-mail. Is it possible?
For the current case, you can ask your client to install any log reading app from Google Play, like this one, and asking him to save the log during the crash and send them to you. Or if the client has asking to a computer with the SDK etc. setup on it, then you can ask him to execute adb logcat -d > logcat.txt. This will save the logcat in the file logcat.txt, which can then be mailed to you.
For future cases, I recommend that you integrate a project like ACRA, which can automatically send you crash reports, along with information like device, stacktrace etc.

Categories

Resources