Git Product home page Git Product logo

rootless-logcat's Introduction

Android Logcat without Root

Get it on Google Play Get it on F-Droid

Read Android logs without root access. The app uses remote debugging to connect to phone local ADB daemon. Configuring remote debugging on a phone can be challenging and requires some technical expertise. It has to be done once and after each device reboot.

Enable USB debugging first on your device. Navigate to Settings > About Phone and tap Build number seven times. Go back, access the Developer options menu and check USB debugging option.

Next step is to enable remote debugging. You need to have Android SDK installed on your computer. Connect your phone via USB cable and run following adb command:

adb tcpip 5555

Disconnect USB cable before trying to use the app. Some phones have problems handling network ADB connection when they are connected via USB as well.

Sometimes establishing connection to ADB hangs and requires killing and restarting the app. It seems to be a problem with ADB daemon itself and not the app issue.

Contacts

Author - Anton Tananaev ([email protected])

License

Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

rootless-logcat's People

Contributors

bubu avatar naofum avatar scrumplex avatar tananaev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rootless-logcat's Issues

re: playstore comments

To expand on the play store comments:

  • the way I use this is to look at logs where it's not easy to attach a proper logcat viewer. For example something gps-related, or wifi/cell network crossing. It is much easier to match what happens in the physical world (e.g. I've stepped outside the wifi range) with what happens in the app if I could look at the logs for the app right when I'm moving around. Certainly I can copy the log and email it to myself, but then I'd have to remember the exact time when something happened to match it with the log later. So filtering by bundle id would be immensely helpful.
  • timestamps aren't even shown on the play store screenshots, so I'm sure it's easy to reproduce ;)

Request: Allow for multiple keyword/tag matching, and PID Lookup

Use case: to filter the log for a number of different elements and share a single filtered log with all events in order.

Instead of using regionMatches to detect for a keyword or tag match, could a list of strings, or potentially a regular expression be used instead?

Potentially could also filter the log at the shell:logcat level to reduce the memory requirements:
-e , --regex= Only print lines where the log message matches where is a regular expression.


Use case: to filter the log by application - instead of using a PID Number (Process ID)

Could a PID lookup to Application Identifier (com.google.xxxx) be implemented?

Publish APK at Github?

Would you consider publishing the .apk here at Github, for folks without Playstore? Preferably in the releases/ section (see: Creating Releases in the GitHub Help), which is really easy. If you'd do so, I could automatically pick it up (within 24h or your attaching it there) and offer it via my F-Droid compatible repo, and those folks would get automated updates even.

[FR] add a changelog

It would be really appreciated if a changelog is available to see what changes are new to a version. If someone usages the application via F-Daroid then all they see is an update not what is updated. Maybe use something like keep a changelog.

memory leak about AsyncTask

According to our research, there are misuses about the following AsyncTask class:
( in com.tananaev.logcat. MainActivity)

private ReaderTask readerTask;
//……
private class ReaderTask extends AsyncTask<Void, StatusUpdate, Void> 

The problems is:

  1. It is inner class. It holds strong reference to the GUI element of Activity( MainActivity ), which can lead to memory leak when the Activity is destroyed and the AsyncTask did not finish.

I think we can make following changes to fix the misuse problems:

  1. I think the GUI-related fields should be wrapped into WeakReference. Take
    private final MainActivity _context as example, it can be changed to private final WeakReference<MainActivity> _context.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.