我创建了一个fastlane
任务,用于上传到Play商店,如下所示:
lane :DEPLOY_BETA do
gradle(task: "clean")
version_codes = google_play_track_version_codes(
package_name: "",
json_key: "play_store_service_account_key.json",
)
gradle(
task: "assemble",
flavor: "World",
build_type: "Release",
properties: { "versionCode" => 100 }
)
apk_path = Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
supply(
apk: apk_path,
json_key: "play_store_service_account_key.json",
package_name: "",
track: "beta",
skip_upload_metadata: true,
validate_only: true,
skip_upload_images: true,
skip_upload_screenshots: true
)
end
问题是属性versionCode
没有覆盖在flavor中指定的versionCode
(也不是defaultConfig)。这是fastlane中的一个错误吗?如果我根本不在versionCode
设置build.gradle
,则只添加versionCode
,而快速通道供应将失败。
有人可以帮助我吗?
答案 0 :(得分:4)
我有同样的问题。而且您必须在build.gradle
中使用它们,就像这样:
versionCode project.hasProperty('versionCode') ? project.property('versionCode') as int : 1
versionName project.hasProperty('versionName') ? project.property('versionName') : "No versionName"
我在this comment内部发现了original pull request。似乎gradle不会直接公开这些,我们需要手动分配它们(按照this comment)。