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 }