项目打包成aar包,插件化开发

1.build.gradle(App的)
修改

apply plugin: 'com.android.library'

配置butterknife:

apply plugin: 'com.jakewharton.butterknife'

defaultConfig下添加配置(所有model中都需要配置此项)
//插件化需要配置javaCompileOptions

javaCompileOptions{
        annotationProcessorOptions{
            arguments = [moduleName:project.getName()]
        }
    }

还配置了,主要原因是想省事。
原因:打包时文件重复的问题也可以使用这个选项,常见的就是引入的so库重
exclude 在打包时移除项目中的相关文件,不打入apk文件中

  packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

2.build.gradle(项目的)
配置butterknife:这个版本必须统一,否则你会很头疼,我用的10.2.1

 classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.1'

3.配置完butterknife后,把 @BindView(R2.id.XXXXX)的 R改为R2
别的不改,比如onViewClicked方法中不需要改
但是onViewClicked的注解需要改因为是butterknife相关,具体底层的不太清楚,想了解自己去了解
4.所有switch语句换成if语句(用alt+enter快捷键一个个换吧)
5.需要把.so文件和aar放到主项目的libs中,在app的build.gradle配置
6.所需的全部依赖包需要在app的build.gradle配置

本文是自己查阅加网上找资料得来的结果,转载请注明出处!!!
否则后果自负。


版权声明:本文为qq_34367812原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。