{"id":14637926,"url":"https://github.com/Peakmain/AsmActualCombat","last_synced_at":"2025-09-07T06:31:18.533Z","repository":{"id":41037787,"uuid":"377048590","full_name":"Peakmain/AsmActualCombat","owner":"Peakmain","description":"AsmActual利用ASM技术将合规插件会侵入到编译流程中, 插件会把App中所有系统敏感API或属性替换为SDK的收口方法 , 从而解决直接使用系统方法时面临的隐私合规问题","archived":false,"fork":false,"pushed_at":"2023-10-12T07:53:52.000Z","size":3790,"stargazers_count":315,"open_issues_count":3,"forks_count":20,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-02T10:37:56.805Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Peakmain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-15T05:39:59.000Z","updated_at":"2024-12-18T11:43:00.000Z","dependencies_parsed_at":"2023-09-22T14:47:08.795Z","dependency_job_id":"45f1f893-ad8e-4ae5-bd33-4455610454e8","html_url":"https://github.com/Peakmain/AsmActualCombat","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Peakmain/AsmActualCombat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peakmain%2FAsmActualCombat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peakmain%2FAsmActualCombat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peakmain%2FAsmActualCombat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peakmain%2FAsmActualCombat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Peakmain","download_url":"https://codeload.github.com/Peakmain/AsmActualCombat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peakmain%2FAsmActualCombat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274005341,"owners_count":25205934,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-09-10T02:01:24.049Z","updated_at":"2025-09-07T06:31:17.924Z","avatar_url":"https://github.com/Peakmain.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# AsmActualCombat\n**使用文档链接:https://github.com/Peakmain/AsmActualCombat/wiki**\n\n### How To\n\n#### 旧版本添加方式\n\n**ASM插件依赖**\nAdd it in your root build.gradle at the end of repositories:\n```\nbuildscript {\n  repositories {\n    maven {\n      url \"https://plugins.gradle.org/m2/\"\n    }\n  }\n  dependencies {\n    classpath \"io.github.peakmain:plugin:1.1.4\"\n  }\n}\n\napply plugin: \"com.peakmain.plugin\"\n```\n**拦截事件sdk的依赖**\n- Step 1. Add the JitPack repository to your build file\nAdd it in your root build.gradle at the end of repositories:\n```\n\tallprojects {\n\t\trepositories {\n\t\t\t...\n\t\t\tmaven { url 'https://jitpack.io' }\n\t\t}\n\t}\n```\n- Step 2. Add the dependency\n```\n\tdependencies {\n\t       implementation 'com.github.Peakmain:AsmActualCombat:1.1.5'\n\t}\n```\n#### 新版本添加方式\n\n**settings.gradle**\n```\npluginManagement {\n    repositories {\n        //插件依赖\n        maven {\n            url \"https://plugins.gradle.org/m2/\"\n        }\n    }\n}\ndependencyResolutionManagement {\n    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)\n    repositories {\n        //sdk仓库\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\n**插件依赖**\n\n根目录下的build.gradle文件\n```\nplugins {\n    //插件依赖和版本\n    id \"io.github.peakmain\" version \"1.1.4\" apply false\n}\n```\n**sdk版本依赖**\n\n```\nimplementation 'com.github.Peakmain:AsmActualCombat:1.1.5'\n```\n\n### 功能介绍\n#### ASM全埋点功能\n- AppStart事件：应用程序启动启动事件。\n- AppEnd事件:应用程序退出事件。\n- AppViewScreen事件:应用程序页面浏览事件\n- AppClick 事件:应用程序控件（View）点击事件,如:ImageView,Button,Dialog等\n- 默认包含防止多次点击事件的处理\n- 可动态设置方法对点击事件处理之前进行拦截，目前只支持对setOnClickListener进行拦截\n##### 隐私方法调用处理\n- 对调用隐私方法的方法体替换成自己的方法(支持动态替换方法)\n- 支持的方法如下\n![image](https://user-images.githubusercontent.com/26482737/170660484-740f1399-3a28-4245-9e2b-adc4fb268633.png)\n```\nmonitorPlugin {\n    whiteList = [//设置白名单\n            \"com.peakmain.asmactualcombat.utils.TestUtils\",\n            \"com.peakmain.plugin\"\n    ]\n    methodStatus = 1//1代表方法体替换，其他都是正常情况\n    enableLog=true//是否开启日志打印，默认不打印\n}\n\n```\n\n#### 辅助功能\n- 可获取方法的耗时时间\n- 打印方法的参数和返回值\n- 打印方法的Frame\n- 可动态配置是否开启插件，默认是开启\n\n### 关于我\n- 我的Github:https://github.com/peakmain\n- 我的简书:https://www.jianshu.com/u/3ff32f5aea98\n- 我的掘金:https://juejin.cn/user/175532853176152\n\n### Donations\n如果您觉得我的开源库帮您节省了大量的开发时间，请扫描下方的二维码随意打赏，您的支持将激励我不断前进\n![微信](https://user-images.githubusercontent.com/26482737/184805287-0561a7e2-da13-4ef4-b367-c5e8672c121d.jpg)\n![支付宝](https://user-images.githubusercontent.com/26482737/184805306-f44511a7-7660-4fe1-9f07-305005576c2c.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPeakmain%2FAsmActualCombat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPeakmain%2FAsmActualCombat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPeakmain%2FAsmActualCombat/lists"}