0
  • 最佳答案

    修改一下:


    generateName0(int index) {
        def random = new Random()
        def abc = "abcdefghijklmnopqrstuvwxyz".toCharArray()
        def sb = new StringBuilder()
        for (i in 0..4) {
            sb.append(abc[random.nextInt(abc.size())])
        }
        int temp = index
        while (temp >= 0) {
            sb.append(abc[temp % abc.size()])
            temp = temp / abc.size()
            if (temp == 0) {
                temp = -1
            }
        }
        sb.append(index.toString())
        return sb.toString()
    }
    


    然后调用


    加一些日志输出。


    1153952789488054272  评论     打赏       拉大锯
    • 拉大锯  回复 @拉大锯
      前面加def
      拉大锯 2023-10-07 16:06   回复 1153952789488054272
    • 拉大锯  回复 @拉大锯
      def generateName0(int index){....}
      拉大锯 2023-10-07 16:06   回复 1153952789488054272
    • Cstri  回复 @拉大锯
      也是不行的噢
      Cstri 2023-10-07 19:02   回复 1342082010843308032
  • 结贴

    1342082010843308032  评论     打赏       Cstri
    • build.gradle中的代码如下:

      apply from: 'random.gradle'
      //def randomFile = rootProject.file('app/random.gradle')
      //apply from: randomFile
      task getName1{
          doLast{
              def name = generateName3(5)
              println "Romdd------------- $name"
          }
      }
      
      static String generateName(int index) {
          return generateName3(index)
      

      }




      random.gradle中代码如下:

      import java.security.SecureRandom
      
      SecureRandom random = new SecureRandom()
      
      ext.generateName3 = { length ->
      
          println "阿猫阿狗------------- $name"
          StringBuilder sb = new StringBuilder()
          String alphabets = "abcdefghijklmnopqrstuvwxyz"
          for (int i=0; i<length; i++) {
              int index = random.nextInt(alphabets.length())
              sb.append(alphabets.charAt(index))
          }
          return sb.toString()
      }
      


      //// 随机生成一个名称
      static String generateName0(int index) {
          def random = new Random()
          def abc = "abcdefghijklmnopqrstuvwxyz".toCharArray()
          def sb = new StringBuilder()
          for (i in 0..4) {
              sb.append(abc[random.nextInt(abc.size())])
          }
          int temp = index
          while (temp >= 0) {
              sb.append(abc[temp % abc.size()])
              temp = temp / abc.size()
              if (temp == 0) {
                  temp = -1
              }
          }
          sb.append(index.toString())
          return sb.toString()
      }
      



      1342082010843308032  评论     打赏       Cstri
      • 加日志,看看走到哪步,然后你静态的调用非静态的吗?

        1153952789488054272  评论     打赏       拉大锯
        • Cstri  回复 @拉大锯
          加了,走不到 random.gradle文件里面的方法,在调用处就不行了。 另外尝试过调用 random.gradle 中静态的方法,也是不行的。
          Cstri 2023-10-07 15:36   回复 1342082010843308032
        • 拉大锯  回复 @Cstri
          好久没有写过安卓了,想找个案例你都没有[捂脸]。
          拉大锯 2023-10-07 16:04   回复 1153952789488054272
        • Cstri  回复 @拉大锯
          [捂脸] 哈哈哈,那再等等,看来有没有人回答下。
          Cstri 2023-10-07 16:09   回复 1342082010843308032
      相关问题
      kissmyass · gradle
      2019-12-09 08:11 1007 2
      2020-07-13 18:49 622 6
      半夏灬微凉 · gradle同步出错
      2020-09-16 06:22 732 2
      Xiao9mmDa · gradle版本
      2022-05-18 15:25 84 20
      资质平平 · Android
      2025-02-20 09:14 92 100
      尖沙咀-段坤 · 项目
      2025-01-06 23:39 18 2
      雅澤yaduo · 领券联盟
      2025-01-03 20:39 37 50
      呆瓜小董 · webview
      2024-11-30 18:02 68 20
      阿肥 · 鸿蒙next
      2024-10-25 18:07 35 100