gradle 修改文件内容

0 0 gradle android android-studio
hellosweet
hellosweet

声望值:40 0人

2018-08-08 15:19:53 提问

关注 0关注

收藏 0收藏, 1769浏览

我创建了一个 build.gradle 同时在该目录下面创建了一个 111.txt 里面的内容是 111 ,如何使用 build.gradle 将 111.txt 里面的 111 替换成 222 简单来说就是 替换指定内容行,或者替换指定行! 谢谢:)

请先 登录 后评论

4个回答

  • cookeyang.101声望 2018-08-08 11:44

    把 111.txt 放到 resources 目录里吧
    请先 登录 后评论
  • 写bug小能手103声望 2018-08-08 11:44

    这个需要在build.grade里面写个task,在task里写一些对111.txt文件的读写操作,然后运行时就直接调用这个任务就可以了
    请先 登录 后评论
  • 疯狂Clark116声望 2018-08-08 11:44

    感谢大家,我还是用了比较笨的办法,就是先将文件中的数据读取到一个List中,在这中间根据相应的条件判断, 然后又把List的数据写回文件这样。 类似于这样: //读取文件,并装进List。 def list = [] new File('gradle.properties').withReader('UTF-8') { reader -> reader.eachLine { if (it.contains('PACKAGE_NAME')) { it = "PACKAGE_NAME=${packageName}" } else if (it.contains('IS_LANDSCAPE')) { it = "IS_LANDSCAPE=${isLandScape}" } else if (it.contains('IS_DEBUG')) { it = "IS_DEBUG=${isDebug}" } else if (it.contains('IS_DEBUG')) { it = "IS_ROOT=${isRoot}" } list.add(it + "\n") } } 然后写回去: new File('gradle.properties').withWriter('UTF-8') { writer -> list.each { writer.write(it) } } 这样可以解决我目前的问题 :D
    请先 登录 后评论
  • 爪哇程序猴323声望 2018-08-08 11:44

    感觉你需要的其实是这个功能: filtering_files Gradle本身就使用groovy DSL做配置文件,因此完全可以使用groovy自带的groovy template渲染文件内容。
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问