gradle task 스크립트 삭제 로그
gradle task 스크립트 삭제 로그
gradle을 배우고 있기 때문에 코드를 직접 올리는 것은 많지 않다
build.gradle
에 다음task를 넣고 안드로이드스튜디오Terminal
에서 실행하면 윈도우즈 입력gradlew -q dl
,macgradle -q dl
,조금 있으면 모든Log.
의 코드가 삭제된 것을 발견할 수 있습니다. task dl << {
def rootPath = project.projectDir.absolutePath;
def files = new File(rootPath + "/src");
println files.getAbsolutePath()
deleteLog(files)
}
void deleteLog(File listFiles) {
if (listFiles != null) {
listFiles.eachFile {File file ->
if (file != null) {
if (file.isFile()) {
if (file.canRead() && file.name.endsWith(LogConstant.suffix)) {
println file.getAbsolutePath()
deleteFileLog(file);
}
} else if (file.isDirectory()) {
deleteLog(file);
}
}
}
}
}
--
void deleteFileLog(File javafile) {
def endFlag = 0;
File ftmp = file(javafile.getAbsolutePath() + ".tmp");
def printWriter = ftmp.newPrintWriter(LogConstant.charset);
def reader = javafile.newReader(LogConstant.charset);
def tmpline = null;
String line;
while ((line = reader.readLine()) != null) {
if (line != null) {
tmpline = line.trim();
if (tmpline.startsWith(LogConstant.head) || endFlag == 1) {
if (tmpline.endsWith(LogConstant.tail_end)) {
endFlag = 0;
printWriter.write(";
")
continue
} else {
endFlag = 1;
continue
}
} else {
printWriter.write(line + "
");
}
}
}
reader.close();
printWriter.flush();
printWriter.close();
javafile.delete();
ftmp.renameTo(javafile.getAbsolutePath());
}
--
task LogConstant {
ext.head = 'Log.'
ext.tail_end = ');'
ext.suffix = '.java'
ext.charset = "utf-8"
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.