Skip to content

Latest commit

 

History

History
121 lines (85 loc) · 4.96 KB

README_CN.md

File metadata and controls

121 lines (85 loc) · 4.96 KB

Pandora 是一款无需ROOT、可以直接在应用内查看和修改包括网络、数据库、UI等的工具箱,适合开发和测试阶段的各种问题的快速定位。

效果

功能

网络日志

  • 查看网络请求的详细日志,例如Header、body、错误信息等;
  • 支持基于OKHTTP、Android原生HttpURLConnection的所有网络库,涵盖大部分网络开发情况;

沙盒文件

  • 查看应用的私有存储目录,导出文件至SDcard;
  • 支持浏览和编辑SQLite数据库、SharedPref文件;

UI:选择视图、视图层级、基准线、网格线

  • 查看、修改任意控件的属性,例如控件大小、颜色、文字内容等;
  • 抓取和移动任意控件,查看控件间的边界和相对距离,检测对齐、布局等问题;
  • 查看任意页面的层级结构,支持Activity、Dialog、PopupWindow等;

实用工具

  • 实时显示当前Activity;
  • 支持记录和查看应用层所有Crash,兼容第三方Crash库;
  • 支持添加自定义功能入口;
  • 支持快速跳转到应用内任意页面;
  • 记录和查看应用生命期间所有的Activity历史记录;

集成和使用

  1. 声明Jitpack 仓库并添加以下依赖:(版本更新日志请查看Releases)

    debugImplementation 'com.github.whataa:pandora:v${RELEASE}'
    // 如果你的项目使用的是AndroidX, 替换为以下方式
    debugImplementation 'com.github.whataa:pandora:androidx_v${RELEASE}'
    
    // 不区分android-support和AndroidX
    releaseImplementation 'com.github.whataa:pandora-no-op:v${RELEASE}'
    
    library version
    pandora Release
    pandora-no-op Release
  2. (可选)如果你的项目使用了OKHttp作为网络库,添加 pandora-plugin 可自动将日志拦截注入到所有OKHttp对象中 Download

    // project's gradle
    buildscript {
        dependencies {
            ...
            classpath 'com.github.whataa:pandora-plugin:1.0.0'
        }
    }
    
    // app's gradle
    apply plugin: 'com.android.application'
    apply plugin: 'pandora-plugin'
    
  3. 授予「悬浮窗」权限,并摇晃手机。

致谢

Pandora是站在巨人的肩膀上开发而来,非常感谢以下开源项目或作者:

  • Logo及Icon由设计师 Zularizal 制作。

  • 灵感来源于 Flipboard 开源的iOS平台调试工具 FLEX

  • 项目中的数据库模块思路及部分源码来源于 facebook 的开源项目 stetho

  • 项目中的UI模块中的选择控件的思路及部分源码来源于 eleme 的开源项目 UETool

  • Demo中的演示网络请求的API来源于 jgilfelt 的开源项目 chuck

开源协议

Apache-2.0