# Lens **Repository Path**: hihopeorg/Lens ## Basic Information - **Project Name**: Lens - **Description**: 界面分析,对象监控, DataDump,数据存储更新等等功能 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-15 - **Last Updated**: 2021-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lens **本项目是基于开源项目Lens进行ohos化的移植和开发的,可以通过项目标签以及github地址(https://github.com/iqiyi/Lens )追踪到原项目版本** ## 项目介绍 - 项目名称:Lens - 所属系列:ohos的第三方组件适配移植 - 功能:界面分析,对象监控, DataDump,数据存储更新等等功能 - 项目移植状态:完成 - 调用差异:无 - 项目作者和维护人:hihope - 联系方式:hihope@hoperun.com - 原项目Doc地址:https://github.com/iqiyi/Lens - 原项目基线版本:无, sha1:63d8de24665363bf9fd3968a79a91bce1800de58 - 编程语言:Java - 外部库依赖:okhttp3.0 ## 安装教程 方法1. 1. 编译lenssdk的har包lenssdk.har。 2. 启动 DevEco Studio,将编译的har包,导入工程目录“entry->libs”下。 3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下har包的引用。 ``` dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) …… } ``` 4. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,并点击“OK”即引用成功。 方法2. 1. 在工程的build.gradle的allprojects中,添加HAR所在的Maven仓地址 ``` repositories { maven { url 'http://106.15.92.248:8081/repository/Releases/' } } ``` 2. 在应用模块的build.gradle的dependencies闭包中,添加如下代码: ``` dependencies { implementation 'com.qiyi.ohos:lenssdk:1.0.1' implementation 'com.qiyi.ohos:lenssdknoop:1.0.1' } ``` ## 使用说明 可参考Demo 中LensApplicationDelegate 实现配置。 1. 在主进程Application#attachBaseContext 中添加如下代码: ```Java Lens.init(this, false); ``` 2. 在主进程Application#OnCreate 中添加如下代码 ```Java LensUtil.buildConfig() .defaultOpen(false) // .enableDeviceInfo(true) // .enableKeyLog(KeyLogConfig.builder().addFilter("Main").setMaxLine(1000)) // .enableFPS(true) // .enableLaunchTime(true) // .setHookFrameWorkImpl(new HookFramework()) .enableActivityAnalyzer(true) .enableNetworkAnalyze(false) .enableCrashInfo(true) .addCustomBlockEntrance(customBlockEntrance, new BlockFactory()) .addCustomJumpEntrance(customJumpEntrance, new JumpAction()) .initAsPluginMode(Lens.isSDKMode()) .enableViewInfo(true) .show(Lens.wrapContext(mApplication), UIUtils.getScreenWidth(mApplication) / 5 * 3); ``` #### 界面分析模块 * 页面信息:展示页面的基本信息,如当前Ability、Fraction 嵌套关系等。展示页面视图层级关系、分析页面视图情况等。 ![gif](screenshot/ac_info.gif) #### DataDump * Lens 提供了接口,支持应用的一些内部数据展示能力。用于更好的去分析、定位问题。Lens 内部实现了一些基本的数据dump 能力。也支持应用层自己实现定制化的data dump 数据对接。 ![gif](screenshot/dump.gif) #### DataExplorer 入口在Lens 浮窗`DB`, `AB-T`, `SP`. 目前支持查看本hap DB、AB-t和SP 信息。 支持修改SP 数据。 * Database数据查询 ![gif](screenshot/db.gif) * Preference数据存储、查询及修改 ![gif](screenshot/ab-t.gif) ![gif](screenshot/sp.gif) #### 对象监控与设置模块 * Lens 支持关注任意对象,被关注的对象将会再浮窗模块中显示,点击对象可查看该对象的属性信息。 ![gif](screenshot/obj.gif) ## 版本迭代 - v1.0.1 ## 版权和许可信息 Apache-2.0 License