我正在为我的Android应用程序准备Gradle构建脚本。在构建任务开始之前,我要更改主类名,从而更改每个* .java文件中的导入。
例如,如果现在我的主类是 com.company.myApp ,那么每个java文件中的包都按以下方式导入:import com.company.myApp.pacakge.
*并且当我重命名主类时到 com.company.newName 我还要将导入更改为:import com.comapny.newName.package.*
。
我是Gradle的初学者,但我试图找到有关replace()函数等效的信息,我发现了shadow插件,但它适用于JAR文件。还有一个使用ReplaceTokens的灵魂,但它与令牌一起工作,而类名不是像这样的象征。
有没有办法用Gradle做到这一点?
答案 0 :(得分:2)
对于有类似问题的其他人,使用Gradle将任何字符串更改为其他字符串非常简单。我使用以下方法解决了我的问题:
copy {
from "src_tmp"
into "src"
filter {
String line -> line.replaceAll("com.company.app", "com.new.string")
}
}