Java 如何修复fastlane错误:密钥库文件';keystore.jks';找不到签名配置';外部覆盖';。?

Java 如何修复fastlane错误:密钥库文件';keystore.jks';找不到签名配置';外部覆盖';。?,java,android,deployment,keystore,fastlane,Java,Android,Deployment,Keystore,Fastlane,我是fastlane新手,当我编写用于将应用程序部署到内部测试的命令时,会显示以下错误: 失败:生成失败,出现异常 出了什么问题: 任务“:app:validateSigningRelease”的执行失败 找不到签名配置“externalOverride”的密钥库文件“/Users/rooh/.gradle/daemon/5.1.1/Keystore.jks” 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--sc

我是fastlane新手,当我编写用于将应用程序部署到内部测试的命令时,会显示以下错误:

失败:生成失败,出现异常

  • 出了什么问题: 任务“:app:validateSigningRelease”的执行失败

    找不到签名配置“externalOverride”的密钥库文件“/Users/rooh/.gradle/daemon/5.1.1/Keystore.jks”

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的洞察力

  • 得到更多的帮助

此版本中使用了不推荐的Gradle功能,使其与Gradle 6.0不兼容。 使用“--warning mode all”显示单个弃用警告。 看

看起来这个错误是因为密钥库的位置,我已经把密钥库放在项目的应用程序文件中了,我在其他项目中做了,它的工作很好,但是在这个项目中我不知道为什么它不工作

我还试图更改密钥库位置,但仍然

fastfile中的此车道:

desc "Deploy a new internal version to the Google Play Store"
lane :internal do
gradle(task: "clean")


gradle(
  task: "assemble",
  build_type: "Release",
  print_command: false,
  properties: {
    "android.injected.signing.store.file" => "keystore.jks",
    "android.injected.signing.store.password" => "*****",
    "android.injected.signing.key.alias" => "alias",
    "android.injected.signing.key.password" => "*****"
    }

)

changelog = prompt(
text: "Changelog: ",
multi_line_end_keyword: "END"
)


supply(
  track: "internal",
  apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH].to_s
)
upload_to_play_store(track: "internal")
end
信息:对于其他用户:

您可以创建多个环境变量,这对CI很有用

build_android_app(
      task: "assemble", 
      build_type: "Release", 
      flavor: "development",
      flags: "--stacktrace",
      print_command: false,
      properties:{
        "android.injected.signing.store.file" => ENV['KEYSTORE_PATH'],
        "android.injected.signing.store.password" => ENV['STORE_PASSWORD'],
        "android.injected.signing.key.alias" => ENV['KEY_ALIAS'],
        "android.injected.signing.key.password" => ENV['KEY_PASSWORD'],
        "org.gradle.java.home" => ENV['JAVA_HOME']
      })

稍后,您需要修改.bash_配置文件并添加ENV变量。

gradle在app/keystore中搜索“android.injected.signing.store.file”=>“keystore.jks”。jks@jordiz是的,我通过添加孔路径来解决它