Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-11516

Android emulator plugin doesn't work with Android 4.0

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • Jenkins ver. 1.436
      Android Emulator Plugin 1.18

    Description

      The Android Emulator Plugin doesn't work with the latest version of Android.

      Reproducible with the following emulator configuration:
      Android OS version: Android-14
      Density: 160
      Resolution: HVGA

      The following error is showing in the log:

       
      Started by upstream project "BlockCrusher-Monkey" build number 12
      [android] Using Android SDK: /opt/android-sdk-linux/
      [android] Creating Android AVD: /var/lib/jenkins/.android/avd/hudson_en-US_160_HVGA_android-14.avd
      	Error: This platform has more than one ABI. Please specify one using --abi.
      	
      [android] Could not create Android emulator: Failed to run AVD creation command
      Finished: NOT_BUILT
      

      I downloaded all available packages into the Android SDK.

      Attachments

        Activity

          Thanks for the report. I haven't managed to reproduce this by installing all packages, but I can see what the problem is.

          Could you possibly post the output of "android list target" on that machine for "android-14", such as this (or at least just the "ABIs" line):

          id: 33 or "android-14"
               Name: Android 4.0
               Type: Platform
               API level: 14
               Revision: 1
               Skins: WQVGA400, WXGA720, WVGA854, WQVGA432, HVGA, WSVGA, QVGA
               ABIs : no ABIs.
          

          Probably we need to add an "ABI" text box to the build configuration, so that you can choose which ABI image you wish to create the emulator with...

          orrc Christopher Orr added a comment - Thanks for the report. I haven't managed to reproduce this by installing all packages, but I can see what the problem is. Could you possibly post the output of "android list target" on that machine for "android-14", such as this (or at least just the "ABIs" line): id: 33 or "android-14" Name: Android 4.0 Type: Platform API level: 14 Revision: 1 Skins: WQVGA400, WXGA720, WVGA854, WQVGA432, HVGA, WSVGA, QVGA ABIs : no ABIs. Probably we need to add an "ABI" text box to the build configuration, so that you can choose which ABI image you wish to create the emulator with...
          peerke Peter Fortuin added a comment -

          Output from android list target on my machine:

          id: 16 or "android-14"
               Name: Android 4.0
               Type: Platform
               API level: 14
               Revision: 1
               Skins: WXGA800, WVGA854, WXGA720, WQVGA400, WSVGA, WQVGA432, WVGA800 (default), HVGA, QVGA
               ABIs : no ABIs.
          

          Somehow it shows that there are no ABIs, while there are on all other targets that I have installed. Very strange that the error message says that there is more then one ABI.

          peerke Peter Fortuin added a comment - Output from android list target on my machine: id: 16 or "android-14" Name: Android 4.0 Type: Platform API level: 14 Revision: 1 Skins: WXGA800, WVGA854, WXGA720, WQVGA400, WSVGA, WQVGA432, WVGA800 (default), HVGA, QVGA ABIs : no ABIs. Somehow it shows that there are no ABIs, while there are on all other targets that I have installed. Very strange that the error message says that there is more then one ABI.

          Ah, interestingly I just saw this on Windows with no ABIs installed. It seems the error message is a bit confused:

          > android create avd -n test_4.0 -t android-14
          Valid ABIs: no ABIs.
          Error: This platform has more than one ABI. Please specify one using --abi.
          

          For now, I'll probably add a warning to the Console Output if users attempt to create an Android 4.0 emulator without having downloaded the required ABI. I've also already done this for the new SDK auto-install feature.

          Letting the user choose between multiple ABIs will probably be more difficult – but if there aren't actually any platforms with multiple ABIs yet, then that feature isn't so urgent anyway

          orrc Christopher Orr added a comment - Ah, interestingly I just saw this on Windows with no ABIs installed. It seems the error message is a bit confused: > android create avd -n test_4.0 -t android-14 Valid ABIs: no ABIs. Error: This platform has more than one ABI. Please specify one using --abi. For now, I'll probably add a warning to the Console Output if users attempt to create an Android 4.0 emulator without having downloaded the required ABI. I've also already done this for the new SDK auto-install feature. Letting the user choose between multiple ABIs will probably be more difficult – but if there aren't actually any platforms with multiple ABIs yet, then that feature isn't so urgent anyway

          Code changed in jenkins
          User: Christopher Orr
          Path:
          src/main/java/hudson/plugins/android_emulator/EmulatorConfig.java
          src/main/resources/hudson/plugins/android_emulator/Messages.properties
          http://jenkins-ci.org/commit/android-emulator-plugin/4647bd4be941cc0ea227e30c81e66ebdf3e94816
          Log:
          JENKINS-11516 Detect when AVD cannot be created due to missing ABI.

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christopher Orr Path: src/main/java/hudson/plugins/android_emulator/EmulatorConfig.java src/main/resources/hudson/plugins/android_emulator/Messages.properties http://jenkins-ci.org/commit/android-emulator-plugin/4647bd4be941cc0ea227e30c81e66ebdf3e94816 Log: JENKINS-11516 Detect when AVD cannot be created due to missing ABI.
          dogfood dogfood added a comment -

          Integrated in plugins_android-emulator #19
          JENKINS-11516 Detect when AVD cannot be created due to missing ABI.

          Christopher Orr :
          Files :

          • src/main/resources/hudson/plugins/android_emulator/Messages.properties
          • src/main/java/hudson/plugins/android_emulator/EmulatorConfig.java
          dogfood dogfood added a comment - Integrated in plugins_android-emulator #19 JENKINS-11516 Detect when AVD cannot be created due to missing ABI. Christopher Orr : Files : src/main/resources/hudson/plugins/android_emulator/Messages.properties src/main/java/hudson/plugins/android_emulator/EmulatorConfig.java

          Version 2.0 has now been released, which fixes this.

          We now detect when an ABI is required to be installed and notify the user in the console output.

          Also, once Android release SDK Tools r17, the plugin will be able to automatically install the correct ABI and create an emulator with it.

          orrc Christopher Orr added a comment - Version 2.0 has now been released, which fixes this. We now detect when an ABI is required to be installed and notify the user in the console output. Also, once Android release SDK Tools r17, the plugin will be able to automatically install the correct ABI and create an emulator with it.

          People

            orrc Christopher Orr
            peerke Peter Fortuin
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: