task makeJar(type: Jar, dependsOn: ['compileReleaseJavaWithJavac']) { destinationDir = file('build/libs/jar/') appendix = "jar" // SDK的后缀名称 baseName = "sdkname" // SDK名称 version = 1.0 // 这个常量是在gradle.properties中配置的 // manifest信息 def map = [ 'Version': 1.0, 'Gradle': project.gradle.gradleVersion, 'Vendor': '', 'Date': new Date().getDateTimeString()] manifest.attributes(map) from('build/intermediates/classes/release') exclude('**/BuildConfig.class') exclude('**/BuildConfig\$*.class') exclude('**/R.class') exclude('**/R\$*.class') include('**/*.class') }
task proguardJar(dependsOn: ['makeJar'], type: proguard.gradle.ProGuardTask) { configuration 'proguard-rules.pro' String inJar = makeJar.archivePath.getAbsolutePath() //输入 jar injars inJar println "lixiang->>"+inJar //输出 jar 的位置和名称 String outJar = inJar.substring(0, inJar.lastIndexOf(File.separator)) + "/proguard-${makeJar.archiveName}" outjars outJar println "lixiang->>"+outJar //设置不删除未引用的资源(类,方法等) dontshrink }