Skip to content

Latest commit

 

History

History

checkPlugin

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

一、依赖配置

目前提供的检查有:

  • so 文件检查
  • 64 位 so 未适配检查
  • 更安全的导出组件检查
  • 未匹配的权限检查
  • uses-sdk 检查

待补充的功能:

  • 大图检测
  • 重复资源检测
  • 清单文件中不存在的类检查
  • 布局文件中不存在的类检查
  • 类/方法找不到检查

配置 maven 镜像源和依赖

buildscript {
    repositories {
        ...
        // maven 源
        maven{
           url "https://raw.githubusercontent.com/MRwangqi/Maven/main"
        }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.4"
        // 依赖 check 插件
        classpath "com.github.MRwangqi:checkPlugin:1.0.1"
    }
}

然后在 app 工程的 build.gradle 中依赖插件,并且在工程下面配置白名单文件:

plugins {
    id 'com.android.application'
    // apply check 插件
    id 'checkPlugin'
}

check{
    // 配置白名单
    manifestWhiteFile="ManifestWhite.xml"
}

ManifestWhite.xml 文件如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.codelang.includebuildingdemo">

    <!--  插件会读取 uses-sdk ,如果分析出的依赖不等于 targetSdk 或是如果不等 minSDK 则会输出分析-->
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="30" />

    <!--  插件会读取 uses-permission ,如果分析出的依赖权限不在下面则会输出分析-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

</manifest>

二、执行检查命令:

执行命令模板如下:

./gradlew checkDependency -Pbuild=${build variant}

要执行的 build variant 可以在 Android studio 中查看: image.png 比如我们要检查 debug 的依赖分析,则命令如下:

./gradlew checkDependency -Pbuild=debug

当然,也可以直接使用如下命令进行检查,插件默认的 build variant 是 debug

./gradlew checkDependency

结果会在 build 目录的 checkPlugin 生成一份 check.html 文件,你可以直接查看 demo 生成的结果报告:https://mrwangqi.github.io/pluginDemo/