使用fastlane gradle时如何指定输出.apk文件路径?
How to specify output .apk file path when using fastlane gradle?
我的应用程序有不同的产品风格,我使用 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
问题是在项目目录中创建了 apk 文件。
(projectname/app/build/outputs/apk/flavorname/release/app-flavorname-release.apk)
如何将此 apk 文件自动移动到我的桌面?
gradle
似乎没有指定输出的选项。
我建议您在 gradle 完成后添加一个命令行,以将此 .apk
移动到桌面或任何您想要的地方。
sh "mv ../app/build/outputs/apk/release/app-release.apk path/to/Desktop"
我在 gradle 调用中使用以下内容:
lane :release do
gradle(...)
APK_LOCATION = "#{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]}"
sh("mv #{APK_LOCATION} ~/Desktop/")
end
使用变量的好处是您将能够使用相同的代码来发布和调试 apk。
干杯。
您也可以使用快速通道操作 copy_artifacts 而不是 mv
lane :release do
gradle(...)
copy_artifacts(
artifacts: ['*/build/outputs/apk/**/*.apk'],
target_path: '~/Desktop/'
)
end
Wilcard */build/outputs/apk/**/*.apk
将适用于任何构建类型、风格应用程序模块名称。
或者如上@janpio 所说,您可以使用变量 GRADLE_APK_OUTPUT_PATH
:
lane :release do
gradle(...)
copy_artifacts(
artifacts: [lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]],
target_path: '~/Desktop/'
)
end
我的应用程序有不同的产品风格,我使用 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
问题是在项目目录中创建了 apk 文件。
(projectname/app/build/outputs/apk/flavorname/release/app-flavorname-release.apk)
如何将此 apk 文件自动移动到我的桌面?
gradle
似乎没有指定输出的选项。
我建议您在 gradle 完成后添加一个命令行,以将此 .apk
移动到桌面或任何您想要的地方。
sh "mv ../app/build/outputs/apk/release/app-release.apk path/to/Desktop"
我在 gradle 调用中使用以下内容:
lane :release do
gradle(...)
APK_LOCATION = "#{lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]}"
sh("mv #{APK_LOCATION} ~/Desktop/")
end
使用变量的好处是您将能够使用相同的代码来发布和调试 apk。
干杯。
您也可以使用快速通道操作 copy_artifacts 而不是 mv
lane :release do
gradle(...)
copy_artifacts(
artifacts: ['*/build/outputs/apk/**/*.apk'],
target_path: '~/Desktop/'
)
end
Wilcard */build/outputs/apk/**/*.apk
将适用于任何构建类型、风格应用程序模块名称。
或者如上@janpio 所说,您可以使用变量 GRADLE_APK_OUTPUT_PATH
:
lane :release do
gradle(...)
copy_artifacts(
artifacts: [lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]],
target_path: '~/Desktop/'
)
end