在我的 android 项目中,我所有的 .java View 文件都根据当前包的名称导入 R 文件。当我在 Android Manifest 中更改我的包名称时(动态地,不通过 Eclipse 或任何其他 IDE 重构),我需要引用我所有的 java 文件以指向生成的新 R 文件
我正在通过 Ant 制作构建脚本,但我不确定正则表达式约定是什么样的
需要替换的字符串如下所示:
import com.mysite.myapp.R;
即。
导入 com.sushiroll.california.R
这是我的 ant 构建脚本中的内容
<replaceregexp file="src/*"
match="import*.R"
replace="import ${current.package}.R"
byline="true">
<fileset dir="src/.">
<include name="*.java"/>
</fileset>
</replaceregexp>
我想匹配所有以 .R
结尾的 import
字符串
并将其替换为 import $current.package}.R
对于 ant 正则表达式,我该如何表达?我写的 match 和 replace 只是猜测
最佳答案
您需要在 .R 之前对旧包名称字符进行分组
如果你知道包名
match="import com\.mysite\.myapp\.R;"
如果你现在知道包名,但是如果你从不同的包中导入 R,请做好导入错误的准备
match="import (.*).R;"
替换为
replace="import ${current.package}.R;"
和
<fileset dir="src">
<include name="**/*.java"/>
</fileset>
关于android - 用于 android 包名称的 ant 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12752650/