Giter Site home page Giter Site logo

dexknifeplugin's Introduction

DexKnife

  • **Update Log 1.5.1.exp: Experimentally support android gradle plugin on 2.1.0 (实验性的支持 2.1.0 plugin) 1.5.1: fix the proguard mode

A simple android gradle plugin to use the patterns of package to smart split the specified classes to second dex.
一个简单的将指定使用通配符包名分包到第二个dex中gradle插件。

  • **Notes: Only fully tested less than version 2.0.0. Because instant-run of 2.0.0 above is disabled when you enable multidex, so no conflict with DexKnife.

  • **注意:只在 android gradle plugin 小于 2.0.0 的版本上进行过完全测试。 由于高于 2.0.0 的 instant-run 特性在启用 multidex 时失效,所以与DexKnife无冲突。

Usage:
使用方法:

1、In your project's build.gradle, buildscript.repositories add the bintray's maven.
1、在你的工程的 build.gradle 中 buildscript.repositories 增加bintray的仓库.

buildscript {
        ....

    dependencies {
        ....
        classpath 'com.android.tools.build:gradle:2.1.0'  // or other
        classpath 'com.ceabie.dextools:gradle-dexknife-plugin:1.5.1.exp' // Experimental
    }
}

2、Create a 'dexknife.txt' in your App's module, and config the patterns of classes path that wants to put into sencond dex.
2、在App模块下创建 dexknife.txt,并填写要放到第二个dex中的包名路径的通配符.

Patterns may include:

'*' to match any number of characters
'?' to match any single character
'**' to match any number of directories or files
Either '.' or '/' may be used in a pattern to separate directories.
Patterns ending with '.' or '/' will have '**' automatically appended.

Also see: https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/util/PatternFilterable.html

Other config key:

'#' is the comment.

# this path will to be split to second dex.
android.support.v?.**

# if you want to keep some classes in main dex, use '-keep'.
-keep android.support.v4.view.**

# do not use suggest of the maindexlist that android gradle plugin generate.
-donot-use-suggest

# Notes: Split dex until the dex's id > 65536. --minimal-main-dex is default.
# -auto-maindex  # default is not used.

# log the main dex classes.
-log-mainlist

其他配置:

使用 # 进行注释.

# 如果你想要某个包路径在maindex中,则使用 -keep 选项,即使他已经在分包的路径中.
-keep android.support.v4.view.**

# 这条配置可以指定这个包下类在第二dex中.
android.support.v?.**

# 不包含Android gradle 插件自动生成的miandex列表.
-donot-use-suggest

# 不进行dex分包, 直到 dex 的id数量超过 65536.
# -auto-maindex

# 显示miandex的日志.
-log-mainlist

3、add to your app's build.gradle, add this line:
3、在你的App模块的build.gradle 增加:

apply plugin: 'com.ceabie.dexnkife'

and then, set your app

multiDexEnabled true
  • Notes: You want to set 'multiDexEnabled true' in 'defaultConfig' or 'buildTypes', otherwise ineffective.
  • 注意:要在 defaultConfig 或者 buildTypes中打开 multiDexEnabled true,否则不起作用。

4、run your app

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.