fastlane: undefined method `exitstatus' for nil:NilClass (NoMethodError)

New Issue Checklist

Issue Description

getting undefined method `exitstatus’ for nil:NilClass (NoMethodError)

Complete output when running fastlane, including the stack trace and command used
root@me-ThinkPad-L412:/home/me/MyProjects/Mi_Android_Studio_Project# fastlane alpha
[10:05:57]: -------------------------------------------------
[10:05:57]: --- Step: Verifying required fastlane version ---
[10:05:57]: -------------------------------------------------
[10:05:57]: fastlane version valid
[10:05:57]: ------------------------------
[10:05:57]: --- Step: default_platform ---
[10:05:57]: ------------------------------
[10:05:57]: Driving the lane 'android alpha' 🚀
[10:05:57]: ------------------------
[10:05:57]: --- Step: screengrab ---
[10:05:57]: ------------------------
[10:05:57]: The `aapt` command could not be found on your PATH
[10:05:57]: Please ensure that the Android SDK is installed and you have the build tools downloaded and present on your PATH

+-----------------------------+------------------------------------------------+
|                         Summary for screengrab 0.3.1                         |
+-----------------------------+------------------------------------------------+
| locales                     | ["en-US"]                                      |
| clear_previous_screenshots  | true                                           |
| app_package_name            | com.miproject.helloMe                   |
| app_apk_path                | /home/me/MyProjects/helloMe.apk                |
| tests_package_name          | com.miproject.helloMe.test              |
| output_directory            | fastlane/metadata/android                      |
| skip_open_summary           | true                                           |
| test_instrumentation_runner | android.support.test.runner.AndroidJUnitRunner |
| ending_locale               | en-US                                          |
| device_type                 | phone                                          |
+-----------------------------+------------------------------------------------+

[10:05:58]: Limiting the test classes run by `screengrab` to just those that generate screenshots can make runs faster.
[10:05:58]: Consider using the :use_tests_in_classes or :use_tests_in_packages option, and organize your tests accordingly.
[10:05:58]: Clearing phoneScreenshots within fastlane/metadata/android
[10:05:58]: $ adb devices -l
[10:05:58]: ▸ adb: /home/me/rubystack-2.0.0-39/common/lib/libcrypto.so.1.0.0: no version information available (required by adb)
[10:05:58]: ▸ List of devices attached
[10:05:58]: ▸ G4AXGV2448524HB        device usb:1-1.2 product:WW_Phone model:ASUS_X014D device:ASUS_X014D_1
[10:05:58]: Variable Dump:
[10:05:58]: {:DEFAULT_PLATFORM=>:android, :PLATFORM_NAME=>:android, :LANE_NAME=>"android alpha"}
[10:05:58]: undefined method `exitstatus' for nil:NilClass

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | screengrab                          | 0           |
+------+-------------------------------------+-------------+

[10:05:58]: fastlane finished with errors
Successfully submitted a crash report. If this is a problem with one of the tools specifically,
please submit an issue on GitHub and attach the following number to it: 'aeb813a42d1de61fab2991aaca67c3b0'
The crash report has been stored locally '/tmp/sentry_aeb813a42d1de61fab2991aaca67c3b0.json'
/home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane_core-0.41.2/lib/fastlane_core/command_executor.rb:79:in `execute': [!] undefined method `exitstatus' for nil:NilClass (NoMethodError)
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/screengrab-0.3.1/lib/screengrab/runner.rb:80:in `select_device'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/screengrab-0.3.1/lib/screengrab/runner.rb:52:in `run'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/actions/screengrab.rb:18:in `run'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:143:in `block (2 levels) in execute_action'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/actions/actions_helper.rb:35:in `execute_action'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:129:in `block in execute_action'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:128:in `chdir'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:128:in `execute_action'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/fast_file.rb:149:in `method_missing'
    from Fastfile:40:in `block (2 levels) in parsing_binding'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/lane.rb:36:in `call'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/lane.rb:36:in `call'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:52:in `block in execute'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:46:in `chdir'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/runner.rb:46:in `execute'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/lane_manager.rb:46:in `cruise_lane'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/lib/fastlane/command_line_handler.rb:30:in `handle'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/bin/fastlane:38:in `block (2 levels) in run'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane_core-0.41.2/lib/fastlane_core/ui/fastlane_runner.rb:23:in `run!'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/bin/fastlane:158:in `run'
    from /home/me/rubystack-2.0.0-39/ruby/lib/ruby/gems/2.0.0/gems/fastlane-1.80.0/bin/fastlane:164:in `<top (required)>'
    from /home/me/rubystack-2.0.0-39/ruby/bin/fastlane:22:in `load'
    from /home/me/rubystack-2.0.0-39/ruby/bin/fastlane:22:in `<main>'

Configuration Files

Please copy the complete content of your Fastfile and any other configuration files you use below:

Fastfile:

default_platform :android

platform :android do

  desc "Alpha release app."
  lane :alpha do |options|

    screengrab(
   locales: ['en-US'],
   clear_previous_screenshots: 'true',
   app_package_name: "com.miproject.helloMe",
   app_apk_path: "/home/me/MyProjects/helloMe.apk"

 )

end
# INSERT CONTENT HERE

Environment

fastlane version (run fastlane -v): fastlane 1.80.0

Do you use bundler to execute fastlane (i.e. bundle exec fastlane)? No

Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)? No

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 17 (9 by maintainers)

Most upvoted comments

@mfurtak … Sorry for the late reply. I was on a vacation.

I just got it working on my sample project 😃 .

I did the following

  • upgraded screengrab to latest version
  • added missing permissions in debug manifest file
  • updated my gradle version

That’s it 👍

Till now, I was working on only screengrab file. Right now, I am trying to move it to fastfile so that I can take screenshots and upload the apk (using Supply) with a single fastlane command. I will come up with more queries later.

Thank you for your help and support @mfurtak . You helped me a lot.