Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Help exclude classes before building the JAR into Android DEX archives.

License

Notifications You must be signed in to change notification settings

skyNet2017/JarFilterPlugin

Repository files navigation

README

Build Status codecov

This plugin can filter files (such as class files) inside a jar. This is very useful when you want to modify some classes in a third-party library but do not want to download and import all of its source code. Just copy the source files you want to modify into your project. And then use this plugin to remove the corresponding class in the jar. Finally, the build tool will package the compiled class of your copied source into the archive.

You can see the example to learn how to use it. In addition, this plugin supports incremental work. So its performance is good.

Intergation

Replace the ${last-version} in below code to number

buildscript {
 repositories {
 maven { url "https://jitpack.io" }
 }
 dependencies {
 classpath "com.github.skyNet2017:JarFilterPlugin:${lastest-verion}"
 }
}

Apply and configure the plugin:

apply plugin: "jar-filter"
jarFilters {
 "com.android.support:appcompat-v7:(.*)" {
 excludes = [
 "android/support/v7/app/AppCompatActivity.class",
 "android/support/v7/app/AlertController.class"
 ]
 }
 "com.github.skyNet2017:BitmapCanary:(.*)" {
 excludes = [
 "hexin/androidbitmapcanary/ActivityDrawableWatcher.class"
 ]
 }
 // Local jar
 "android.local.jars:xxx.jar:(.*)" {
 includes = [
 'xxx'
 ]
 }
}
  • 自动帮你忽略内部类,匿名内部类

  • 提供丰富直观的日志:

image-20200911152711302

image-20200911152632986

About

Help exclude classes before building the JAR into Android DEX archives.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 61.4%
  • Kotlin 38.6%

AltStyle によって変換されたページ (->オリジナル) /