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 985 2
      2020-07-13 18:49 612 6
      半夏灬微凉 · gradle同步出错
      2020-09-16 06:22 716 2
      Xiao9mmDa · gradle版本
      2022-05-18 15:25 65 20
      幻影~ · 安卓
      2024-04-26 19:25 2 4
      deanhu · AOSP
      2024-04-25 21:53 3 10
      幻影~ · 提问
      2024-04-13 20:13 10 2
      幻影~ · 找工作
      2024-04-07 10:44 16 2
      幻影~ · 问题
      2024-03-31 17:20 7 2
      TONYGFX · AOSP
      2024-03-28 17:11 4 2