从Fastlane的通用平台导入和调用特定平台的车道

mll*_*llm 5 android ios react-native fastlane

我有一个react-native应用程序,既iosandroid目录的公共目录中。我希望能够独立发布(执行通道)iOS或Android,因此我fastlane init在每个平台目录中进行了设置(每个平台目录中都创建了两个fastlane/Fastfile)。Android Fastfile大致包含:

platform :android do
  lane: release_android do
    ...
  end
Run Code Online (Sandbox Code Playgroud)

和iOS:

platform :ios do
  lane: release_ios do
    ...
  end
Run Code Online (Sandbox Code Playgroud)

现在,我还手动fastlane/Fastfile在公共包含目录中创建了一个文件,如下所示:

import '../ios/fastlane/Fastfile'
import '../android/fastlane/Fastfile'

lane :release_all do
  release_android
  release_ios
end
Run Code Online (Sandbox Code Playgroud)

但是,当我fastlane release_all从主目录运行时,它会与断开Could not find action or lane 'release_android'

知道我在做什么错吗?从普通车道调用平台专用车道是不可能的吗?

环境

快车道1.96.0

小智 5

这不是理想的解决方案,因为它最终会将您的通道执行包装在另一个通道中,但我们在您的等效中执行此操作release_all,但是我想知道它是否允许并行运行这些:

sh "fastlane ios beta"
sh "fastlane android beta"
Run Code Online (Sandbox Code Playgroud)