美文网首页
AS SDK超简单的方式,.aar包带混淆

AS SDK超简单的方式,.aar包带混淆

作者: 我好芒 | 来源:发表于2017-05-09 15:32 被阅读0次

    提出

    以前设计SDK,基本都是设计一个模块,然后将模块打成jar包,其中还要自己去混淆,后来,发现其实Android studio给我们提供一种更简便的方式——aar包,可以同时把class和res文件打包进去,现在的support v7 和gson-2.21就是aar打包方式。

    aar包的好处

    1、自动编译打包生成,不用像jar包方式那样,模块修改后又要自己重新打包。
    2、jar包不包含资源文件,应用时的有可能会报资源找不到的错误,而aar包则包含源码和资源文件。
    3、配置好混淆文件后,aar包生成时会自动混淆,不用再操心混淆问题。
    4、加快项目的编译速度。

    打包方法

    1.先把想要打包成sdk的项目做成Android libraries B不要建成Android project 然后我们建立一个新的Android project A 去调用写好的libraries B
    2.写好混淆文件proguard-rules.pro,配置libraries B的build.gradle,其他的模块的不要改动,配置方式如下:

    buildTypes {
            release {
                      minifyEnabled true
                      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
             }
    }
    

    3.运行后,studio就自动把我们的librarys B自动打包成aar包了,这就是我们想要的sdk了(release版的带混淆,路径,如图所示:libraries build outputs aar)

    Paste_Image.png

    注意:Module中的libs目录文件会随着项目的编译被打包进aar文件中,但是build.gradle中的引用库不会打包进aar文件中,这个需要 特别留意。如果你忽略了这个Module的build.gradle中的引用库,很可能引发ClassNotFoundException异常。

    使用方法

    1、把打好的aar包拷贝到需要引用的Android工程libs目录下

    Paste_Image.png

    2、 在project的build.gradle文件中添加

    repositories {
        flatDir {
            dirs 'libs' 
        }
    }
    

    3、再在project的build.gradle文件中dependencies标签中添加下面的依赖。 compile(name:’你的aar名字’, ext:’aar’)

    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        //compile(name:'aar名字', ext:'aar')
        compile (name:'kdweibo_lib',ext:'aar')
    }
    

    4、完整截图

    Paste_Image.png

    总结

    运行你的项目,就这么简单,有木有??!!

    相关文章

      网友评论

          本文标题:AS SDK超简单的方式,.aar包带混淆

          本文链接:https://www.haomeiwen.com/subject/zlnbtxtx.html