简体   繁体   中英

Crashlytics fails for android after using gym. (get “Crashlytics has moved the submit binary outside of Crashlytics.framework directory…” error)

We're using react-native and have a fastfile set up to build and deploy iOS and Android betas. If we build-and-deploy the iOS beta, all is fine. If we build-and-deploy the Android beta, all is fine.

But if we try and do both with the same fastlane execution, the Android call to crashlytics fails with the following error: "Crashlytics has moved the submit binary outside of Crashlytics.framework directory as of 3.4.1. Please change :crashlytics_path to <PODS_ROOT>/Crashlytics/submit "

Solution: add the following line before calling crashlytics for the Android build.

lane_context[SharedValues::IPA_OUTPUT_PATH] = nil

Reasoning: when the iOS build is done with gym , it sets this IPA_OUTPUT_PATH value. When crashlytics_helper is determining which submit binary to use, it checks to see if ipa_path is set -- if so, it assumes we're dealing with an iOS build, and tries to use the iOS submit . SO! Setting this IPA_OUTPUT_PATH to nil means crashlytics_helper doesn't see this as necessarily an iOS build, and we get the proper submit binary used.

Note that another workaround was to simply change the order and do the Android build-and-deploy first, THEN the iOS one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM