All Projects → znyang → Library Analysis

znyang / Library Analysis

Library Analysis Gradle Plugin

Programming Languages

groovy
2714 projects

Projects that are alternatives of or similar to Library Analysis

Apkscale
A Gradle plugin to measure the app size impact of Android libraries
Stars: ✭ 76 (-27.62%)
Mutual labels:  gradle-plugin
Gradle Buildconfig Plugin
A plugin for generating BuildConstants for any kind of Gradle projects: Java, Kotlin, Groovy, etc. Designed for KTS scripts.
Stars: ✭ 85 (-19.05%)
Mutual labels:  gradle-plugin
Android String Reference
This is a Gradle plugin for Android applications which resolves XML string references in other XML strings.
Stars: ✭ 102 (-2.86%)
Mutual labels:  gradle-plugin
Gradle Site Plugin
Documents Gradle tasks and plugins registered by your Gradle project
Stars: ✭ 83 (-20.95%)
Mutual labels:  gradle-plugin
Androidanimationexercise
Android 动画各种实现,包括帧动画、补间动画和属性动画的总结分享
Stars: ✭ 1,254 (+1094.29%)
Mutual labels:  gradle-plugin
No Copy
A Kotlin compiler plugin that removes the `copy` method of data classes.
Stars: ✭ 90 (-14.29%)
Mutual labels:  gradle-plugin
Gradle Android Javadoc Plugin
Gradle plugin that generates Java Documentation from an Android Gradle project.
Stars: ✭ 73 (-30.48%)
Mutual labels:  gradle-plugin
Jenkins Pipeline Shared Libraries Gradle Plugin
Gradle plugin to help with build and test of Jenkins Pipeline Shared Libraries (see https://jenkins.io/doc/book/pipeline/shared-libraries/)
Stars: ✭ 103 (-1.9%)
Mutual labels:  gradle-plugin
Methodtraceman
用于快速找到高耗时方法,定位解决Android App卡顿问题。通过gradle plugin+ASM实现可配置范围的方法插桩来统计所有方法的耗时,并提供友好的界面展示,支持耗时筛选、线程筛选、方法名筛选等。(A Tool for Discovering High Time-consuming Methods for Android App)
Stars: ✭ 1,258 (+1098.1%)
Mutual labels:  gradle-plugin
Kordamp Gradle Plugins
A collection of Gradle plugins
Stars: ✭ 100 (-4.76%)
Mutual labels:  gradle-plugin
Apiinspect
An api compatibility inspect gradle plugin.(一个Api兼容性检测的Gradle插件)
Stars: ✭ 84 (-20%)
Mutual labels:  gradle-plugin
Rambuild
A plugin to make builds in gradle run on ram instead of the hard drive
Stars: ✭ 84 (-20%)
Mutual labels:  gradle-plugin
Gradle Quality Plugin
Gradle quality plugin for Java and Groovy
Stars: ✭ 97 (-7.62%)
Mutual labels:  gradle-plugin
Gradle Android Apk Size Plugin
Gradle plugin that generates CSV files with apk size per output and variant of an apk
Stars: ✭ 79 (-24.76%)
Mutual labels:  gradle-plugin
Gradle Changelog Plugin
Plugin for parsing and managing the Changelog in a "keep a changelog" style.
Stars: ✭ 102 (-2.86%)
Mutual labels:  gradle-plugin
Debug Badge
Add badge(version code, version name, etc) for your DEBUG APK.
Stars: ✭ 75 (-28.57%)
Mutual labels:  gradle-plugin
Injector
Gradle plugin for android which makes easier to inject aar libraries into project
Stars: ✭ 87 (-17.14%)
Mutual labels:  gradle-plugin
Obfusesmalitext
smali文件,jar包字符串混淆,支持gradle插件
Stars: ✭ 105 (+0%)
Mutual labels:  gradle-plugin
Koala
从 Java 字节码到 ASM 实践
Stars: ✭ 103 (-1.9%)
Mutual labels:  gradle-plugin
Vertx Gradle Plugin
An opinionated Gradle plugin for Vert.x projects
Stars: ✭ 98 (-6.67%)
Mutual labels:  gradle-plugin

Library Analysis Gradle Plugin

Build Status codecov.io

概述

分析各依赖库文件的大小

  1. 支持大文件提醒
  2. 支持忽略部分依赖库大小(大小显示为灰色)
  3. 支持依赖节点大小统计
  4. 输出aar的PackageName以及冲突提示
  5. 输出依赖库被直接依赖次数(Used)、包含的依赖库数量(Contains)
  6. 标识可移除的依赖库(实验性功能)

可移除的依赖库
例如有这样的依赖关系:A->B->C, A->C,那么A~~->C~~

配置

buildscript {
    repositories {
        // ...
        maven { url "https://jitpack.io" }
    }
    dependencies {
        // version from https://jitpack.io/#znyang/library-analysis
        classpath 'com.github.znyang:library-analysis:#LAST_VERSION'
    }
}

apply plugin: 'com.zen.lib.analysis'

libReport {
    output = [
        "txt", "html" // default
    ]
    ignore = [
        "com.android.support:support-v4"
    ]
}

使用

gradle libReportCompile // or libReportReleaseCompileClasspath ...

注意:在使用gradle 4.x以后,建议使用libReportReleaseCompileClasspath输出(libReportCompile无法输出使用implementation加入的相关依赖库),如果工程都只用compile添加依赖,那么没有影响。

output

/build/reports/zen/analysis/library/compile/Tree.html

screenshot

screenshot

/build/reports/zen/analysis/library/compile/Tree.txt

  6.050 MB	       0 B	\--- project :analysis-sample
 20.275 KB	 20.275 KB	 	+--- com.android.support:multidex:1.0.1
       0 B	       0 B	 	+--- project :module-library
    174 KB	    104 KB	 	+--- com.squareup.moshi:moshi:1.2.0
 70.328 KB	 70.328 KB	 	|	\--- com.squareup.okio:okio:1.8.0
    199 KB	    199 KB	 	+--- com.alibaba:fastjson:1.1.54.android
  1.432 MB	  1.143 MB	 	+--- com.fasterxml.jackson.core:jackson-databind:2.7.0
 49.701 KB	 49.701 KB	 	|	+--- com.fasterxml.jackson.core:jackson-annotations:2.7.0
    246 KB	    246 KB	 	|	\--- com.fasterxml.jackson.core:jackson-core:2.7.0
    314 KB	    259 KB	 	+--- com.github.Raizlabs.DBFlow:dbflow:3.1.1
 33.072 KB	 33.072 KB	 	|	+--- com.github.Raizlabs.DBFlow:dbflow-core:3.1.1
 21.275 KB	 21.275 KB	 	|	\--- com.android.support:support-annotations:23.1.1 -> 24.1.0
    325 KB	    119 KB	 	+--- com.squareup.retrofit:retrofit:1.9.0
    206 KB	    206 KB	 	|	\--- com.google.code.gson:gson:2.3.1
    492 KB	 86.272 KB	 	+--- com.squareup.retrofit2:retrofit:2.1.0
    406 KB	    335 KB	 	|	\--- com.squareup.okhttp3:okhttp:3.3.0
 70.328 KB	 70.328 KB	 	|	 	\--- com.squareup.okio:okio:1.8.0
    464 KB	    464 KB	 	+--- com.github.bumptech.glide:glide:3.7.0
    118 KB	    118 KB	 	+--- com.squareup.picasso:picasso:2.5.2
  1.456 MB	 11.842 KB	 	+--- com.facebook.fresco:fresco:0.13.0
    200 KB	    106 KB	 	|	+--- com.facebook.fresco:drawee:0.13.0
       0 B	  1.167 MB	 	|	|	+--- com.android.support:support-v4:23.2.1
       0 B	 21.275 KB	 	|	|	|	\--- com.android.support:support-annotations:23.2.1 -> 24.1.0
 93.288 KB	 93.288 KB	 	|	|	\--- com.facebook.fresco:fbcore:0.13.0
 93.288 KB	 93.288 KB	 	|	+--- com.facebook.fresco:fbcore:0.13.0
  1.341 MB	  1.114 MB	 	|	\--- com.facebook.fresco:imagepipeline:0.13.0
       0 B	  1.167 MB	 	|	 	+--- com.android.support:support-v4:23.2.1
    232 KB	    102 KB	 	|	 	+--- com.facebook.fresco:imagepipeline-base:0.13.0
       0 B	  1.167 MB	 	|	 	|	+--- com.android.support:support-v4:23.2.1
 37.199 KB	 37.199 KB	 	|	 	|	+--- com.parse.bolts:bolts-tasks:1.4.0
 93.288 KB	 93.288 KB	 	|	 	|	\--- com.facebook.fresco:fbcore:0.13.0
 37.199 KB	 37.199 KB	 	|	 	+--- com.parse.bolts:bolts-tasks:1.4.0
 93.288 KB	 93.288 KB	 	|	 	\--- com.facebook.fresco:fbcore:0.13.0
 18.699 KB	 18.699 KB	 	+--- com.jakewharton.timber:timber:4.3.0
  1.111 MB	  9.466 KB	 	+--- io.reactivex:rxandroid:1.2.1
  1.102 MB	  1.102 MB	 	|	\--- io.reactivex:rxjava:1.1.6 -> 1.3.0
  1.102 MB	  1.102 MB	 	+--- io.reactivex:rxjava:1.3.0
 54.464 KB	 16.989 KB	 	+--- com.jakewharton:butterknife:8.4.0
 37.475 KB	 16.199 KB	 	|	+--- com.jakewharton:butterknife-annotations:8.4.0
 21.275 KB	 21.275 KB	 	|	|	\--- com.android.support:support-annotations:24.1.0
 21.275 KB	 21.275 KB	 	|	\--- com.android.support:support-annotations:24.1.0
  9.570 KB	  9.570 KB	 	+--- com.jakewharton.scalpel:scalpel:1.1.2
  3.603 KB	  3.603 KB	 	\--- com.jakewharton:process-phoenix:1.0.2
 ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].