通过shell 执行 如果有更好的方法联系我奥~ #读取lint位置 如果有覆盖 如果没有创建 rootDir="/Users/" rootGradlePath="${rootDir}/build.gradle" lineNum=$(sed -n '/lintOptions/=' ${rootGradlePath}) #获取要修改的字符串所在行,并将它保存到变量line lineNumAndroid=$(sed -n '/android {/=' ${rootGradlePath}) a=0 if [ $lineNum ]; then #判断是否为空 { while read LINE; do echo "FORA"$a echo "for line"$LINE if [ $LINE = '}' -a $a -gt $lineNum ]; then a=$(expr $a + 1) break fi a=$(expr $a + 1) done <${rootGradlePath} sed -i '' "$lineNum,$a d" ${rootGradlePath} lineNum=$(expr $lineNum - 1) sed -i '' "$lineNum r /Users/liuhao/maoyan-sharecard/check/linttxt.txt" ${rootGradlePath} } else sed -i '' "${lineNumAndroid} r/linttxt.txt" ${rootGradlePath} fi #sed -i '' ' linttxt.txt' ${rootGradlePath} #sed -i "" '/lintOptions/ a\ # '${target}'' ${rootGradlePath} #cd $rootDir #./gradlew lint -p presentation #your_name="runoob" ## 使用单引号拼接 #greeting_2='hello, '$your_name' !' #sed -i '' '/lintOptions/ a\ # lintConfig file("${rootProject.projectDir}/check/lint/lint.xml") ' ${rootGradlePath} # #txt=$(echo -e $target) #txt="runoob" #sed -i "" '/lintOptions/ a\ # '${txt}'' ${rootGradlePath}
linttxt.txt: lintOptions{ lintConfig file("${rootProject.projectDir}/check/lint/lint.xml") warningsAsErrors true abortOnError false htmlReport true baseline file("${rootProject.projectDir}/check/lint/lint-baselint.xml") htmlOutput file("${rootProject.projectDir}/check/lint/$project.name-lint.html") xmlReport false }