icyleaf / app-info

Teardown parser tool for mac, windows and mobile app (ipa, apk and aab file) and dSYM.zip file, analysis metedata like version, name, icon etc.
MIT License
51 stars 8 forks source link

Undefined method `to_sym' for nil:NilClass #51

Closed UpBra closed 1 year ago

UpBra commented 1 year ago

A crash may occur when inspecting an aab file.

Under certain circumstances resources defined in the project will have undefined values causing a crash when parsed.

A sample repository can be found here which reproduces the crash.

A patch file is provided which resolves the issue 0001-prevent-calling-to_sym-on-nil-value_from.value.patch

Stack Trace ``` Traceback (most recent call last): 75: from /Users/jmorales/.gem/bin/bundle:23:in `
' 74: from /Users/jmorales/.gem/bin/bundle:23:in `load' 73: from /Users/jmorales/.gem/gems/bundler-2.3.22/exe/bundle:36:in `' 72: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors' 71: from /Users/jmorales/.gem/gems/bundler-2.3.22/exe/bundle:48:in `block in ' 70: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/cli.rb:25:in `start' 69: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start' 68: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/cli.rb:31:in `dispatch' 67: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' 66: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' 65: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' 64: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/cli.rb:486:in `exec' 63: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:23:in `run' 62: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:58:in `kernel_load' 61: from /Users/jmorales/.gem/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:58:in `load' 60: from /Users/jmorales/.gem/bin/fastlane:23:in `' 59: from /Users/jmorales/.gem/bin/fastlane:23:in `load' 58: from /Users/jmorales/.gem/gems/fastlane-2.212.1/bin/fastlane:23:in `' 57: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off' 56: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:43:in `start' 55: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:354:in `run' 54: from /Users/jmorales/.gem/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!' 53: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!' 52: from /Users/jmorales/.gem/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command' 51: from /Users/jmorales/.gem/gems/commander-4.6.0/lib/commander/command.rb:157:in `run' 50: from /Users/jmorales/.gem/gems/commander-4.6.0/lib/commander/command.rb:187:in `call' 49: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run' 48: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' 47: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane' 46: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:45:in `execute' 45: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:45:in `chdir' 44: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:49:in `block in execute' 43: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane.rb:33:in `call' 42: from Fastfile:36:in `block (2 levels) in parsing_binding' 41: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' 40: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' 39: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:229:in `execute_action' 38: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:229:in `chdir' 37: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action' 36: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action' 35: from /Users/jmorales/.gem/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action' 34: from /Users/jmorales/.gem/gems/fastlane-plugin-app_info-0.7.0/lib/fastlane/plugin/app_info/actions/app_info_action.rb:16:in `run' 33: from /Users/jmorales/.gem/gems/fastlane-plugin-app_info-0.7.0/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:18:in `raw_data' 32: from /Users/jmorales/.gem/gems/fastlane-plugin-app_info-0.7.0/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:53:in `common_columns' 31: from /Users/jmorales/.gem/gems/fastlane-plugin-app_info-0.7.0/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:53:in `each_with_object' 30: from /Users/jmorales/.gem/gems/fastlane-plugin-app_info-0.7.0/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:53:in `each' 29: from /Users/jmorales/.gem/gems/fastlane-plugin-app_info-0.7.0/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:54:in `block in common_columns' 28: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/aab.rb:57:in `name' 27: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/aab.rb:182:in `manifest' 26: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/aab.rb:187:in `resource' 25: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:12:in `parse' 24: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:12:in `new' 23: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:20:in `initialize' 22: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:41:in `parse' 21: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:46:in `define_packages' 20: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:46:in `each_with_object' 19: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:46:in `each' 18: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:47:in `block in define_packages' 17: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:47:in `new' 16: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:62:in `initialize' 15: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:103:in `define_types' 14: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:103:in `each' 13: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:105:in `block in define_types' 12: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:117:in `parse_from' 11: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:117:in `each_with_object' 10: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:117:in `each' 9: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:118:in `block in parse_from' 8: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:118:in `new' 7: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:129:in `initialize' 6: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:150:in `parse' 5: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:150:in `each_with_object' 4: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:150:in `each' 3: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:151:in `block in parse' 2: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:151:in `new' 1: from /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:166:in `initialize' /Users/jmorales/.gem/gems/app-info-2.8.3/lib/app_info/protobuf/resources.rb:191:in `parsed_value': \e[31m[!] undefined method `to_sym' for nil:NilClass\e[0m (NoMethodError) ```
✅ fastlane environment ✅ ### Stack | Key | Value | | --------------------------- | ------------------------------------------- | | OS | 13.2 | | Ruby | 2.7.5 | | Bundler? | true | | Git | git version 2.37.1 (Apple Git-137.1) | | Installation Source | ~/.rbenv/versions/2.7.5/bin/fastlane | | Host | macOS 13.2 (22D49) | | Ruby Lib Dir | ~/.rbenv/versions/2.7.5/lib | | OpenSSL Version | OpenSSL 1.1.1l 24 Aug 2021 | | Is contained | false | | Is homebrew | false | | Is installed via Fabric.app | false | | Xcode Path | /Applications/Xcode.app/Contents/Developer/ | | Xcode Version | 14.2 | | Swift Version | 5.7.2 | ### System Locale | Variable | Value | | | -------- | ----------- | - | | LANG | en_US.UTF-8 | ✅ | | LC_ALL | | | | LANGUAGE | | | ### fastlane files:
`./fastlane/Fastfile` ```ruby # This file contains the fastlane.tools configuration # You can find the documentation at https://docs.fastlane.tools # # For a list of all available actions, check out # # https://docs.fastlane.tools/actions # # For a list of all available plugins, check out # # https://docs.fastlane.tools/plugins/available-plugins # # Uncomment the line if you want fastlane to automatically update itself # update_fastlane default_platform(:android) platform :android do desc "Runs all the tests" lane :test do gradle(task: "test") end desc "Submit a new Beta Build to Crashlytics Beta" lane :beta do gradle(task: "clean assembleRelease") crashlytics # sh "your_script.sh" # You can also use other beta testing services here end desc "Deploy a new version to the Google Play" lane :deploy do gradle(task: "clean bundleDebug") app_info(file: lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH]) end end ```
`./fastlane/Appfile` ```ruby json_key_file("") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one package_name("com.example.myapplication") # e.g. com.krausefx.app ```
### fastlane gems | Gem | Version | Update-Status | | -------- | ------- | ------------- | | fastlane | 2.212.1 | ✅ Up-To-Date | ### Loaded fastlane plugins: | Plugin | Version | Update-Status | | ------------------------ | ------- | ------------- | | fastlane-plugin-app_info | 0.7.0 | ✅ Up-To-Date |
Loaded gems | Gem | Version | | ------------------------------- | ------------ | | did_you_mean | 1.4.0 | | bundler | 2.3.22 | | uri | 0.10.0 | | rake | 13.0.6 | | rexml | 3.2.5 | | CFPropertyList | 3.0.6 | | public_suffix | 5.0.1 | | addressable | 2.8.1 | | rubyzip | 2.3.2 | | android_parser | 2.5.0 | | google-protobuf | 3.21.12 | | icns | 0.2.0 | | image_size | 3.0.2 | | ruby-macho | 3.0.0 | | uuidtools | 2.2.0 | | app-info | 2.8.3 | | artifactory | 3.0.15 | | atomos | 0.1.3 | | aws-eventstream | 1.2.0 | | aws-partitions | 1.721.0 | | aws-sigv4 | 1.5.2 | | jmespath | 1.6.2 | | aws-sdk-core | 3.170.0 | | aws-sdk-kms | 1.63.0 | | aws-sdk-s3 | 1.119.1 | | babosa | 1.0.4 | | claide | 1.1.0 | | colored | 1.2 | | colored2 | 3.1.2 | | highline | 2.0.3 | | commander | 4.6.0 | | declarative | 0.0.20 | | digest-crc | 0.6.4 | | unf_ext | 0.0.8.2 | | unf | 0.1.4 | | domain_name | 0.5.20190701 | | dotenv | 2.8.1 | | emoji_regex | 3.2.3 | | excon | 0.99.0 | | faraday-em_http | 1.0.0 | | faraday-em_synchrony | 1.0.0 | | faraday-excon | 1.1.0 | | faraday-httpclient | 1.0.1 | | multipart-post | 2.0.0 | | faraday-multipart | 1.0.4 | | faraday-net_http | 1.0.1 | | faraday-net_http_persistent | 1.2.0 | | faraday-patron | 1.0.0 | | faraday-rack | 1.0.0 | | faraday-retry | 1.0.3 | | ruby2_keywords | 0.0.5 | | faraday | 1.10.3 | | http-cookie | 1.0.5 | | faraday-cookie_jar | 0.0.7 | | faraday_middleware | 1.2.0 | | fastimage | 2.2.6 | | gh_inspector | 1.1.3 | | jwt | 2.7.0 | | memoist | 0.16.2 | | multi_json | 1.15.0 | | os | 1.1.4 | | signet | 0.17.0 | | googleauth | 1.3.0 | | httpclient | 2.8.3 | | mini_mime | 1.1.2 | | trailblazer-option | 0.1.2 | | uber | 0.1.0 | | representable | 3.2.0 | | retriable | 3.1.2 | | webrick | 1.8.1 | | google-apis-core | 0.11.0 | | google-apis-androidpublisher_v3 | 0.35.0 | | google-apis-playcustomapp_v1 | 0.13.0 | | google-apis-iamcredentials_v1 | 0.17.0 | | google-apis-storage_v1 | 0.19.0 | | google-cloud-env | 1.6.0 | | google-cloud-errors | 1.3.1 | | google-cloud-core | 1.6.0 | | google-cloud-storage | 1.44.0 | | json | 2.6.3 | | mini_magick | 4.12.0 | | naturally | 2.2.1 | | optparse | 0.1.1 | | plist | 3.7.0 | | security | 0.1.3 | | simctl | 1.6.10 | | terminal-notifier | 2.0.0 | | unicode-display_width | 1.8.0 | | terminal-table | 1.8.0 | | tty-screen | 0.8.1 | | tty-cursor | 0.7.1 | | tty-spinner | 0.9.3 | | word_wrap | 1.0.0 | | nanaimo | 0.3.0 | | xcodeproj | 1.22.0 | | rouge | 2.0.7 | | xcpretty | 0.3.0 | | xcpretty-travis-formatter | 1.0.1 | | fastlane-plugin-app_info | 0.7.0 |
*generated on:* **2023-03-08**
icyleaf commented 1 year ago

Thanks for feedback, i'm following into it ASAP.

icyleaf commented 1 year ago

Both fastlane-plugin-app_info 0.8.1 and app-info 2.8.4 were out!

icyleaf commented 1 year ago

BTW, if you are seeking mobile app ad-hoc service, recommend my production zealot and it can host the aab application also.

UpBra commented 1 year ago

@icyleaf We are still getting crashes with the new version. This is on a proprietary project so unfortunately we can't share the aab file or project setup - I can share the new stack trace. Hopefully the stack trace is helpful. We will try and reproduce this in a sample project again.

Stack Trace ``` /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:220:in `exist?': \e[31m[!] private method `select' called for nil:NilClass\e[0m (NoMethodError) from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:209:in `browsable?' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:185:in `deep_links?' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:163:in `block (2 levels) in intent_filters' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:161:in `each' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:161:in `block in intent_filters' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:154:in `each' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:154:in `each_with_object' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:154:in `intent_filters' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:144:in `deep_links' from /Users/redacted/.rvm/rubies/ruby-2.7.4/lib/ruby/2.7.0/forwardable.rb:235:in `deep_links' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-plugin-app_info-0.8.1/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:37:in `platform_columns' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-plugin-app_info-0.8.1/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:18:in `raw_data' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-plugin-app_info-0.8.1/lib/fastlane/plugin/app_info/actions/app_info_action.rb:16:in `run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:229:in `chdir' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:229:in `execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' from sources/Build.rb:35:in `block (3 levels) in parsing_binding' from ../../../../../var/folders/f_/y6td3l891sz24rp3zgq_7_700000gn/T/fl_clone20230309-23293-1d3v1fq/POM-Fastlane-Tools.git/fastlane/Fastfile:46:in `unwrap' from sources/Build.rb:33:in `block (2 levels) in parsing_binding' from sources/Build.rb:25:in `each' from sources/Build.rb:25:in `block in parsing_binding' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane.rb:33:in `call' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:204:in `try_switch_to_lane' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:146:in `trigger_action_by_name' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' from Fastfile:45:in `block in parsing_binding' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane.rb:33:in `call' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:49:in `block in execute' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:45:in `chdir' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:45:in `execute' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/command.rb:187:in `call' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/command.rb:157:in `run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:354:in `run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:43:in `start' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/bin/fastlane:23:in `' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/fastlane:23:in `load' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/fastlane:23:in `
' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/ruby_executable_hooks:22:in `eval' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/ruby_executable_hooks:22:in `
' /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:220:in `exist?': private method `select' called for nil:NilClass (NoMethodError) from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:209:in `browsable?' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:185:in `deep_links?' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:163:in `block (2 levels) in intent_filters' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:161:in `each' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:161:in `block in intent_filters' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:154:in `each' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:154:in `each_with_object' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:154:in `intent_filters' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/app-info-2.8.4/lib/app_info/protobuf/manifest.rb:144:in `deep_links' from /Users/redacted/.rvm/rubies/ruby-2.7.4/lib/ruby/2.7.0/forwardable.rb:235:in `deep_links' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-plugin-app_info-0.8.1/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:37:in `platform_columns' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-plugin-app_info-0.8.1/lib/fastlane/plugin/app_info/helper/app_info_helper.rb:18:in `raw_data' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-plugin-app_info-0.8.1/lib/fastlane/plugin/app_info/actions/app_info_action.rb:16:in `run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:229:in `chdir' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:229:in `execute_action' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' from sources/Build.rb:35:in `block (3 levels) in parsing_binding' from ../../../../../var/folders/f_/y6td3l891sz24rp3zgq_7_700000gn/T/fl_clone20230309-23293-1d3v1fq/POM-Fastlane-Tools.git/fastlane/Fastfile:46:in `unwrap' from sources/Build.rb:33:in `block (2 levels) in parsing_binding' from sources/Build.rb:25:in `each' from sources/Build.rb:25:in `block in parsing_binding' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane.rb:33:in `call' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:204:in `try_switch_to_lane' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:146:in `trigger_action_by_name' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' from Fastfile:45:in `block in parsing_binding' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane.rb:33:in `call' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:49:in `block in execute' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:45:in `chdir' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/runner.rb:45:in `execute' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/command.rb:187:in `call' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/command.rb:157:in `run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:354:in `run' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/commands_generator.rb:43:in `start' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off' from /Users/redacted/.rvm/gems/ruby-2.7.4/gems/fastlane-2.212.1/bin/fastlane:23:in `' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/fastlane:23:in `load' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/fastlane:23:in `
' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/ruby_executable_hooks:22:in `eval' from /Users/redacted/.rvm/gems/ruby-2.7.4/bin/ruby_executable_hooks:22:in `
' ```
icyleaf commented 1 year ago

Does the app's AndroidManifest.xml file not contain the intent label?

jimmymorales commented 1 year ago

The final merged manifest contains several intent-filter tags which some of which have the label attribute.

I also noticed this, a package tag was added to the queries tag.

    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="https" />
        </intent>
        <package android:name="com.google.android.gms.policy_cast_dynamite" />
    </queries>
icyleaf commented 1 year ago

Could you test this branch code, Add the gem in your Gemfile:

...

gem 'fastlane'
+gem 'app_info', git: 'https://github.com/icyleaf/app_info.git', branch: 'fix/aab-not-found-intent-tag'

...
UpBra commented 1 year ago

Using that branch resolves the crash for us.

[09:46:46]: fastlane.tools finished successfully 🎉

❯ bundle info app-info
  * app-info (2.8.4 b117445)
    Summary: Teardown tool for mobile app(ipa/apk) and dSYM file, analysis metedata like version, name, icon
    Homepage: http://github.com/icyleaf/app-info
    Path: /Users/blayr/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/bundler/gems/app_info-b1174456a96d
    Reverse Dependencies:
        fastlane-plugin-app_info (0.8.1) depends on app-info (>= 2.8.4, < 3)
icyleaf commented 1 year ago

Both fastlane-plugin-app_info 0.8.2 and app-info 2.8.5 were out!

Thank you again.

UpBra commented 1 year ago

thank you, @icyleaf ! We'll let you know if we run into any other issues with this.