Android system log viewer on Android phone without root.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
fairy-client refresh file May 20, 2018
fairy-server
gradle/wrapper 兼容6.0以下的签名包 Jan 29, 2018
pc refresh file May 20, 2018
screenshot
.gitignore tag 1.0.1-alpha Nov 6, 2017
LICENSE.txt add LICENSE Dec 25, 2017
build.gradle
gradle.properties first commit - add pc push module Sep 30, 2017
gradlew first commit - add pc push module Sep 30, 2017
gradlew.bat first commit - add pc push module Sep 30, 2017
readme-zh.md
readme.md update readme Dec 26, 2017
settings.gradle first commit - add pc push module Sep 30, 2017

readme.md

Fairy

中文版

Fairy is an easy debug tool which will allow developer to use adb logcat command to view Android system log on your Android phone instead of on your PC.You can scan the system log information anywhere with your Android phone which is no need to root.

Getting Start

Fairy support Android API 21+. There are two ways to choose.

  • Download
  1. Download the project.

  2. Cd [project path]/pc in the terminal.

  3. Configured adb environment In the terminal.

    • MacOS/Linux: Run pusher.sh with sh pusher.shcommand in terminal.

    • Windows: Run these commands

      //change the ${dir} to the real path
      adb push ${dir}/server.dex  /data/local/tmp
      adb push ${dir}/launcher.sh  /data/local/tmp
      adb push ${dir}/libfairy.so  /data/local/tmp
      adb shell sh /data/local/tmp/launcher.sh
  4. Install the apk in the [project path]/pc

  • Import
  1. Import project in AndroidStudio.

    • MacOS/Linux: Run ./gradlew -p fairy-server runService.

    • Windows: First Run gradlew -p fairy-server moveSo. Then run these commands:

      //change the ${dir} to the real path
      adb push ${dir}/server.dex  /data/local/tmp
      adb push ${dir}/launcher.sh  /data/local/tmp
      adb push ${dir}/libfairy.so  /data/local/tmp
      adb shell sh /data/local/tmp/launcher.sh
  2. Run fairy-client module or install APK directly.

It means that the server is working successfully if there is log information exec~~~ in terminal, and there is a server process named fairy in your phone (you can use this command to check it: adb shell ps | grep fairy).

Fairy default use armeabi .so. You can change the file path in task named moveSo which is in fairy-server's build.gradle if you need to change the type of .so.

Questions

  1. You can use chmod command to enhance file's executive power (r-w-x) if you have this error can't execute: Permission denied when run shell script.
  2. You can use Dos2Unix tool to convert the edit format if you are developing with Windows env and have too many logs which is not found when run the launcher.sh script.

TODO

  • Fit Android low-end mobile phone.Some low-end mobile phone like MI2 and MI3 may kill the Fairy-Server when USB is break up or may can't support logcat -t "[time]"command. So these phones may not use Fairy because Fairy uses feed-stream which is based on timeline.
  • Add log grep feature.
  • Optimize the view to display log.
  • Optimize the view to display item
  • Data persistence by SQL.
  • Add floating window to display data.

Fix

  • Fit Android8.0+ of the Window Type permission limit.
  • Update readme to notice the Windows Programmer how to use it.

About More

I have completed the code refactoring in this release (v2.0.0-alpha) with Android Architecture Components

aritecture

FAQ

zanebot96@gmail.com

  • Welcome our qq group: 577953847
  • You can submit an issue for me too if you have some error when use it.
  • And welcome everybody to help me together optimize this project.Just fork and request.

License

    Copyright 2017 Zane

    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.