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

Use new QEMU2 Emulator engine

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Emulators using the new QEMU2 engine are must faster, and more stable. I am currently unable to use the Android Emulator Jenkins plugin as my tests fail with the classic engine.

      I understand the reason the plugin uses the classic engine is because certain commands like `ports` were not supported.

      It appears that ports is now supported. Is there anything else stopping the plugin from using the new engine?

        Attachments

          Issue Links

            Activity

            Hide
            orrc Christopher Orr added a comment -

            Yeah, I think that a recent emulator release fixed the last of the issues, but I haven't confirmed.

            Last time I checked, using the new engine, I think I had problems starting emulators that had been created and were started with the old engine — something about not being able to find the correct kernel image.

            I'll try and check it out, and see what issues there are, if any. If you fancy trying it out, you can change the line of code that keeps us on the old engine and try out a build of the plugin. Or I can create a build of the plugin hardcoded to the new engine if you need for testing.

            Show
            orrc Christopher Orr added a comment - Yeah, I think that a recent emulator release fixed the last of the issues, but I haven't confirmed. Last time I checked, using the new engine, I think I had problems starting emulators that had been created and were started with the old engine — something about not being able to find the correct kernel image. I'll try and check it out, and see what issues there are, if any. If you fancy trying it out, you can change the line of code that keeps us on the old engine and try out a build of the plugin. Or I can create a build of the plugin hardcoded to the new engine if you need for testing.
            Hide
            athor Josh Burton added a comment -

            Hey Chris, I compiled a version disabling the check, and it worked great. This was using emulators that had been created via Android Studio though, and not the plugin.

            Show
            athor Josh Burton added a comment - Hey Chris, I compiled a version disabling the check, and it worked great. This was using emulators that had been created via Android Studio though, and not the plugin.
            Hide
            athor Josh Burton added a comment -

            Any update on this?

            Show
            athor Josh Burton added a comment - Any update on this?
            Hide
            jcnprjhohamgekz Jerry Texas added a comment -

            Would really like to see this officially supported as well.

            Show
            jcnprjhohamgekz Jerry Texas added a comment - Would really like to see this officially supported as well.
            Hide
            redeamer Michael Musenbrock added a comment -

            Call for comment and review: I addressed this issue with PR #71 further info can be found there.

            Show
            redeamer Michael Musenbrock added a comment - Call for comment and review: I addressed this issue with PR #71  further info can be found there.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Michael Musenbrock
            Path:
            src/main/java/hudson/plugins/android_emulator/AndroidEmulator.java
            src/main/java/hudson/plugins/android_emulator/Constants.java
            src/main/java/hudson/plugins/android_emulator/EmulatorConfig.java
            src/main/java/hudson/plugins/android_emulator/SdkInstaller.java
            src/main/java/hudson/plugins/android_emulator/sdk/AndroidSdk.java
            src/main/java/hudson/plugins/android_emulator/sdk/EmulatorToolLocator.java
            src/main/java/hudson/plugins/android_emulator/sdk/Tool.java
            src/main/java/hudson/plugins/android_emulator/util/Utils.java
            src/main/resources/hudson/plugins/android_emulator/AndroidEmulator/config.jelly
            src/main/resources/hudson/plugins/android_emulator/Messages.properties
            src/main/webapp/help-deviceDefinition.html
            src/test/java/hudson/plugins/android_emulator/AndroidPlatformTest.java
            src/test/java/hudson/plugins/android_emulator/EmulatorConfigTest.java
            src/test/java/hudson/plugins/android_emulator/sdk/AndroidSdkTest.java
            src/test/java/hudson/plugins/android_emulator/util/UtilsTest.java
            http://jenkins-ci.org/commit/android-emulator-plugin/3b9e5b948f4c542301aa048f4147189f7e7856d7
            Log:
            [FIXED JENKINS-40178][FIXED JENKINS-43215][FIXED JENKINS-44490] Add support for Android Emulator 2.0

            Added support for the 'new' Android Emulator 2.0, which got support in SDK Tools v25 but
            was lacking some functionality the plugin relies on. Since SDK Tools v26 the new emulator
            engine supports all needed flags and parameters.

            The plugin creates AVDs and starts the emulator in legacy format or in the new format,
            dependent of which SDK Tools version is installed (<= 25 legacy, >= 26 new format).

            A new configuration option was added ('Device definition') which is needed (to avoid
            user input) on AVD creation. It is used to define a specific device ('avdmanager list device'),
            but it is only respected if SDK Tools >= 26 are used.

            Added a helper class AndroidPlatformVersions which holds the current data of platforms,
            which was moved from AndroidPlatform. Additional AndroidPlatform got refactored to
            handle and retrieve more information needed for the emulator (package path) and
            for more convenient access to vendor and api information of the used platform.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Michael Musenbrock Path: src/main/java/hudson/plugins/android_emulator/AndroidEmulator.java src/main/java/hudson/plugins/android_emulator/Constants.java src/main/java/hudson/plugins/android_emulator/EmulatorConfig.java src/main/java/hudson/plugins/android_emulator/SdkInstaller.java src/main/java/hudson/plugins/android_emulator/sdk/AndroidSdk.java src/main/java/hudson/plugins/android_emulator/sdk/EmulatorToolLocator.java src/main/java/hudson/plugins/android_emulator/sdk/Tool.java src/main/java/hudson/plugins/android_emulator/util/Utils.java src/main/resources/hudson/plugins/android_emulator/AndroidEmulator/config.jelly src/main/resources/hudson/plugins/android_emulator/Messages.properties src/main/webapp/help-deviceDefinition.html src/test/java/hudson/plugins/android_emulator/AndroidPlatformTest.java src/test/java/hudson/plugins/android_emulator/EmulatorConfigTest.java src/test/java/hudson/plugins/android_emulator/sdk/AndroidSdkTest.java src/test/java/hudson/plugins/android_emulator/util/UtilsTest.java http://jenkins-ci.org/commit/android-emulator-plugin/3b9e5b948f4c542301aa048f4147189f7e7856d7 Log: [FIXED JENKINS-40178] [FIXED JENKINS-43215] [FIXED JENKINS-44490] Add support for Android Emulator 2.0 Added support for the 'new' Android Emulator 2.0, which got support in SDK Tools v25 but was lacking some functionality the plugin relies on. Since SDK Tools v26 the new emulator engine supports all needed flags and parameters. The plugin creates AVDs and starts the emulator in legacy format or in the new format, dependent of which SDK Tools version is installed (<= 25 legacy, >= 26 new format). A new configuration option was added ('Device definition') which is needed (to avoid user input) on AVD creation. It is used to define a specific device ('avdmanager list device'), but it is only respected if SDK Tools >= 26 are used. Added a helper class AndroidPlatformVersions which holds the current data of platforms, which was moved from AndroidPlatform. Additional AndroidPlatform got refactored to handle and retrieve more information needed for the emulator (package path) and for more convenient access to vendor and api information of the used platform.
            Hide
            orrc Christopher Orr added a comment -

            Version 3.0 of the plugin has been release, which solves this issue.

             

            Show
            orrc Christopher Orr added a comment - Version 3.0 of the plugin has been release, which solves this issue.  

              People

              • Assignee:
                orrc Christopher Orr
                Reporter:
                athor Josh Burton
              • Votes:
                2 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: