https://github.com/nekocode/jarfilterplugin
Help exclude classes before building the JAR into Android DEX archives.
https://github.com/nekocode/jarfilterplugin
android gradle-plugin
Last synced: about 1 month ago
JSON representation
Help exclude classes before building the JAR into Android DEX archives.
- Host: GitHub
- URL: https://github.com/nekocode/jarfilterplugin
- Owner: nekocode
- License: apache-2.0
- Created: 2018-04-22T09:09:25.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-06-28T09:48:11.000Z (almost 4 years ago)
- Last Synced: 2025-03-20T17:23:32.475Z (about 1 month ago)
- Topics: android, gradle-plugin
- Language: Kotlin
- Homepage:
- Size: 167 KB
- Stars: 223
- Watchers: 3
- Forks: 23
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# README
[](https://travis-ci.com/nekocode/JarFilterPlugin) [](https://codecov.io/gh/nekocode/JarFilterPlugin)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](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 [](https://jitpack.io/#nekocode/JarFilterPlugin) .
```gradle
buildscript {
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
classpath "com.github.nekocode:JarFilterPlugin:${lastest-verion}"
}
}
```Apply and configure the plugin:
```gralde
apply plugin: "jar-filter"jarFilters {
"com.android.support:appcompat-v7:(.*)" {
excludes = [
'android/support/v7/app/AppCompatActivity.class',
'android/support/v7/app/AppCompatActivity\\$(.*).class'
]
}// Local jar
"android.local.jars:xxx.jar:(.*)" {
includes = [
'xxx'
]
}
}
```