运行脚本命令:
gradle -b package.gradle update
package.gradle内容:
apply plugin: 'java'
def rootFilePath = "build/zip/LockerTheme/";
def destResourceDir = file(rootFilePath + "LockerTheme")
def themeAppFile = file(rootFilePath + "PreviewImage/ThemeApp")
def lockStoreFile = file(rootFilePath + "PreviewImage/LockerStore")
def googlePlayFile = file(rootFilePath + "PreviewImage/GooglePlay")
def buildDirs = [destResourceDir, themeAppFile, lockStoreFile, googlePlayFile]
def srcResourceDir = file("lockerThemeDemo\\src\\main");
def createFile(file) {
if (!file.exists()) {
file.mkdirs()
}
}
task makeFile << {
buildDirs.each { file ->
createFile(file)
}
}
task clean << {
if (buildDir.exists()) {
buildDir.deleteDir()
}
}
task copyResource(dependsOn: makeFile) {
String drawablePath = new File(srcResourceDir, "res/drawable-xhdpi")
FileTree resTree = fileTree(dir: srcResourceDir,
includes: [
'res/**',
'assets/**'
]);
FileTree previewTree = fileTree(dir: drawablePath,
includes: [
'locker_preview1.*',
'locker_preview2.*',
'locker_preview3.*',
'ic_locker.*',
'blur_wallpaper.*'
])
doLast {
copy {
from resTree
into destResourceDir
}
copy {
from previewTree
into themeAppFile
}
}
}
task update(dependsOn: [clean, makeFile, copyResource], type: Zip) {
from 'build/zip'
include 'LockerTheme/**'
archiveName 'ThemeApp.zip'
destinationDir(file('build/zip'))
}
目录结构:
PS:
如果想直接运行gradle update,也就是省略文件名称。就会在默认的build.gradle文件下查找update这个task。只要在build.gradle中加入
apply from: 'package.gradle'
apply from用来引用本地系统文件, url
还有Android的各种task: assembleRelease, build 等也是引入的
apply plugin: 'com.android.application'
apply plugin 是引入的二进制plguin, java了什么的。详细内容见官网:
点击打开链接