美文网首页Android知识Android开发Android技术知识
Android Studio打Jar包方式(可混淆)

Android Studio打Jar包方式(可混淆)

作者: 阿犇专用 | 来源:发表于2017-11-07 16:13 被阅读0次

    一、普通生成Jar包

      task makeJar(type: Copy){
            //删除之前的旧jar包
            delete 'build/libs/androidJar.jar'
            //从该目录取出jar包
            from('build/intermediates/bundles/default/')
            //将jar输出的目录
            into('build/libs/')
            //将classes.jar放入build/libs/目录下
            include('classes.jar')
            //自定义jar的名字
           rename('classes.jar','androidJar.jar')
      }
    //使用makeJar命令执行该task
      makeJar.dependsOn(build)
    

    二、 普通生成Jar包自定义类名jar生成方式,可以去除资源

      task makeJar(dependsOn: ['compileReleaseJavaWithJavac'], type: Jar) {
             appendix = "demo"
             baseName = "androidJar"
             version = "1.0.0"
             classifier = "release"
             //后缀名
             extension = "jar"
             //最终的 Jar 包名,如果没设置,默认为 [baseName]-[appendix]-[version]-[classifier].  [extension]
               //archiveName = "androidJar"
             //需打包的资源所在的路径集
             def srcClassDir = [project.buildDir.absolutePath + "/intermediates/classes/release"];
             //初始化资源路径集
             from srcClassDir
             //去除路径集下部分的资源
             exclude "com/dgcredit/libs/BuildConfig.class"
             exclude "com/dgcredit/libs/BuildConfig\$*.class"
             exclude "**/R.class"
             exclude "**/R\$*.class"
             //只导入资源路径集下的部分资源
             include "com/dgcredit/libs/**/*.class"
             //注: exclude include 支持可变长参数
             }
    
      //使用makeJar命令执行该task
      makeJar.dependsOn(build)
    

    三、混淆后的jar生成方式,可以去除资源

         task makeGuardJar(type: ProGuardTask) {
         // 未混淆的jar
             injars 'build/intermediates/bundles/default/classes.jar'
         // 混淆后的jar路径
             outjars 'build/libs/androidJar.jar'
         // 具体需要keep住的类
             configuration 'proguard-rules.pro'
         }
    
    
     //使用makeGuardJar命令执行该task
      makeGuardJar.dependsOn(build)
    

    四、备注

      后续会上传相关Demo到Github,欢迎Star
      GitHub
      该文章仅供学习交流所用,转载须注明出处xo

    相关文章

      网友评论

        本文标题:Android Studio打Jar包方式(可混淆)

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