使用fastlane gradle时如何指定输出.apk文件路径?

yig*_*rin 1 fastlane

我的应用程序有不同的产品风格,我使用 fastlane 构建它们。这是我的快速文件:

default_platform(:android)

platform :android do

  desc "Release apk with different urls"
  lane :release do
    gradle(
      task: "assemble",
      build_type: "release",
      flavor: "flavorname",
      print_command: true,
      properties: {
        "android.injected.signing.store.file" => "Key.jks",
        "android.injected.signing.store.password" => "KeyPass",
        "android.injected.signing.key.alias" => "KeyAlias",
        "android.injected.signing.key.password" => "KeyPass"
      }
    )

  end

end
Run Code Online (Sandbox Code Playgroud)

问题是在项目目录中创建了 apk 文件。

(projectname/app/build/outputs/apk/flavorname/release/app-flavorname-release.apk)

如何自动将此 apk 文件移动到我的桌面?

Fra*_*eau 6

我在gradle调用下使用以下内容:

lane :release do        
    gradle(...)

    APK_LOCATION = "#{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]}"        
    sh("mv #{APK_LOCATION} ~/Desktop/")
end
Run Code Online (Sandbox Code Playgroud)

使用该变量的优点是您将能够使用相同的代码进行发布和调试 apk。

干杯。


rca*_*rba 4

似乎没有gradle指定输出的选项。我建议你在 gradle 完成后添加一个命令行,将其移动.apk到桌面或任何你想要的地方。

sh "mv ../app/build/outputs/apk/release/app-release.apk path/to/Desktop"
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您还可以使用环境变量/共享值“GRADLE_APK_OUTPUT_PATH”自动获取生成的APK的路径。然后你甚至不必硬编码 apk 路径(和文件名)。 (2认同)