{"id":13841263,"url":"https://github.com/android-notes/SwissArmyKnife","last_synced_at":"2025-07-11T12:30:54.186Z","repository":{"id":38238558,"uuid":"75175568","full_name":"android-notes/SwissArmyKnife","owner":"android-notes","description":"android ui调试工具","archived":false,"fork":false,"pushed_at":"2020-10-09T08:47:24.000Z","size":6008,"stargazers_count":1351,"open_issues_count":5,"forks_count":230,"subscribers_count":41,"default_branch":"master","last_synced_at":"2024-11-12T16:22:19.551Z","etag":null,"topics":["android","debug","tools","ui"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/android-notes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-30T10:14:50.000Z","updated_at":"2024-11-10T12:59:30.000Z","dependencies_parsed_at":"2022-07-16T05:16:21.672Z","dependency_job_id":null,"html_url":"https://github.com/android-notes/SwissArmyKnife","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android-notes%2FSwissArmyKnife","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android-notes%2FSwissArmyKnife/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android-notes%2FSwissArmyKnife/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/android-notes%2FSwissArmyKnife/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/android-notes","download_url":"https://codeload.github.com/android-notes/SwissArmyKnife/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225720397,"owners_count":17513596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","debug","tools","ui"],"created_at":"2024-08-04T17:01:06.842Z","updated_at":"2025-07-11T12:30:54.149Z","avatar_url":"https://github.com/android-notes.png","language":"Java","readme":"# SwissArmyKnife\n\n\n### SwissArmyKnife\n\n兼容Android5~16\n\nSwissArmyKnife 是一款方便调试android UI的工具。可以直接在android设备屏幕上显示控件的相关信息。3.x版本对根View没有任何要求，可以是任意类型的view。\n3.x需要弹窗权限。由于时间有限，暂未兼容Android5.0以下设备\n\n\n### 接入方式\n\n ```\n allprojects {\n\t\trepositories {\n\t\t\t...\n\t\t\tmaven { url 'https://jitpack.io' }\n\t\t}\n\t}\n \n dependencies {\n\timplementation 'com.github.android-notes.SwissArmyKnife:saklib:4.0.6'\n }\n ```\n\n ```\n  开启\n  SAK.init(Application application, Config config)\n\n ```\n \n 备注：需要使用 implementation 'org.lsposed.hiddenapibypass:hiddenapibypass:6.1'\n\n### 功能界面\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_func.jpg)\n\n\n### 拾取控件\n\n开启拾取控件选项后，拖动圆环到要拾取的控件位置即可。可以获取字体颜色，大小，背景色等信息（支持SpannableString）\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_pickview.jpg)\n\n \n\n\n### 相对距离\n\n开启相对距离选项后，依次`长按`两个控件即可显示两个控件间的水平和竖直距离，距离默认单位是dp，可以通过功能界面的单位选项切换单位`（该功能和编辑控件、移动控件功能冲突，请勿同时开启）`\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_relative_distance.jpg)\n\n\n\n### 移动控件\n\n开启移动控件选项后，`长按`控件即可拖动，距离默认单位是dp，可以通过功能界面的单位选项切换单位`（该功能和编辑控件、移动控件功能冲突，请勿同时开启）`\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_drag.jpg)\n\n\n### 取色器\n\n开启取色器选项后，会在屏幕显示 绿色圆环，可以任意拖动，屏幕下方会显示圆环中心的颜色值\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_take_color.jpg)\n\n\n### 水平直尺，竖直直尺\n\n开启后会在屏幕显示水平直尺和竖直直尺，可以任意拖动。直尺上有两个值，一个单位是px，另一个是dp\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_measure.jpg)\n\n \n\n### 外边距/内边距\n\n开启后可以看到任意一个view的外边距，边距单位默认为dp，可以通过功能界面的单位选项切换单位。`可以通过功能界面的层级区间过滤掉部分view，避免数值相互覆盖`\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_margin.jpg)\n\n\u003e  宽高、字体大小、字体颜色、背景色等使用方式同 外边距/内边距，也可以通过 单位选项和层级区间进行控制\n\n\n\n### Fragment名称、Activity名称\n\n开启后可以看到当前Activity的类名，每一个Fragment的类名。可以通过功能界面的层级区间过滤掉部分Fragment，避免Fragment名称相互覆盖\n\n![image](https://raw.githubusercontent.com/android-notes/SwissArmyKnife/master/img/sak_guide_fragment_name.jpg)\n\n \n## 裁剪绘制范围\n\n若内外边距、宽高、字体颜色等信息`不显示,可以关闭 裁剪绘制`。开启该功能可以避免 可以滚动的控件滚动后导致的信息覆盖。\n\n\n\n \n","funding_links":[],"categories":["Java","Java (504)"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroid-notes%2FSwissArmyKnife","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroid-notes%2FSwissArmyKnife","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroid-notes%2FSwissArmyKnife/lists"}