DescriptionFix "Class resolved by unexpected DEX" in uiautomator tests
Attemping to run uiautomator tests on a Nexus fails with the following error:
W/dalvikvm(32338): Class resolved by unexpected DEX: Lorg/chromium/chrome/shell/uiautomator/DummyTest;(0x416544d0):0x5b738000 ref [Lcom/android/uiautomator/testrunner/ UiAutomatorTestCase;] Lcom/android/uiautomator/testrunner/UiAutomatorTestCase;(0x416544d0):0x5b6dc000
W/dalvikvm(32338): (Lorg/chromium/chrome/shell/uiautomator/DummyTest; had used a different Lcom/android/uiautomator/testrunner/UiAutomatorTestCase; during pre-verification)
W/dalvikvm(32338): Unable to resolve superclass of Lorg/chromium/chrome/shell/uiautomator/DummyTest; (96)
W/dalvikvm(32338): Link of class 'Lorg/chromium/chrome/shell/uiautomator/DummyTest;' failed
D/AndroidRuntime(32338): Shutting down VM
W/dalvikvm(32338): threadid=1: thread exiting with uncaught exception (group=0x4164abc0)
E/UiAutomatorTestRunner(32338): uncaught exception
E/UiAutomatorTestRunner(32338): java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
This error occurs because uiautomator.jar is built into
out/Debug/lib.java/chrome_shell_uiautomator_tests.dex.jar. This results in two
different implementations of uiautomator classes on the device hence the
dalvik error.
The 'chrome_shell_uiautomator_tests' gyp target uses the uiautomator_test.gypi
include. uiautomator.gypi dexes all dependent jars into a single .dex.jar.
Since chrome_shell_uiautomator_tests has a transitive dependence,
through chrome_shell_uiautomator_tests_java, on uiautomator.gyp,
the uiautomator jar used for compilation will be built into its output.
If we ignore chrome_shell_uiautomator_tests and instead just build
chrome_shell_uiautomator_tests_java we can successfully run uiautomator tests.
This gyp target already generates dexed jars through java.gypi (which calls
dex_action.gypi).
This commit removes uiautomator_test.gypi and renames
chrome_shell_uiautomator_tests_java to chrome_shell_uiautomator_tests.
BUG=434080
Committed: https://crrev.com/57dc71e6bf75f6f249c941a70c9139e1316516f9
Cr-Commit-Position: refs/heads/master@{#306315}
Patch Set 1 #Patch Set 2 : Add neverlink variable #Messages
Total messages: 20 (5 generated)
|