Hi mobile-firefox-dev,

Martyn reported this issue, and I thought I would radiate information more
widely.

On Wed, Feb 18, 2015 at 3:11 AM, Martyn Haigh <[email protected]> wrote:

> Hey,
>
> Was wondering if you could point me in the right direction.  I keep on
> having this build issue and was wondering if there's a quicker way of
> fixing it than doing a  "./mach build && ./mach package && ./mach gradle
> build"?   Unfortunately I can't see any pattern in my actions which would
> cause this error.
>
> Cheers,
> M
>

This is strictly a Gradle issue.  I've seen it once myself, but only when
changing build flags.  What is happening is that the intermediate .dex
files have a bad state (too many are including android.support.v7.media).
You should be able to address this without touching the real build system
by running

$ ./mach gradle clean build

Let me know if that doesn't work.

For the record, |mach gradle| passes through most arguments (except --help
-- argh!) to gradlew directly.  So you can run, for example,

$ ./mach gradle tasks

to see targets and tasks; and you can build and install just the app APK
with

./mach gradle app:installDebug

Dig in!
Nick



>
> Result from a ./mach gradle build (same error from within IntelliJ)
>
> :base:assembleRelease UP-TO-DATE
> :base:assemble
> :base:lint
>
> UNEXPECTED TOP-LEVEL EXCEPTION:
> com.android.dex.DexException: Multiple dex files define
> Landroid/support/v7/media/MediaRouter$Callback;
>     at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
>     at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
>     at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
>     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
>     at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
>     at
> com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
>     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
>     at com.android.dx.command.dexer.Main.run(Main.java:245)
>     at com.android.dx.command.dexer.Main.main(Main.java:214)
>     at com.android.dx.command.Main.main(Main.java:106)
>
> :base:lint FAILED
> Ran lint on variant debug: 123 issues found
> Ran lint on variant release: 123 issues found
> Wrote HTML report to
> file:/Users/martyn/Mozilla/git-src/objdir-android/mobile/android/gradle/thirdparty/build/outputs/lint-results.html
> Wrote XML report to
> /Users/martyn/Mozilla/git-src/objdir-android/mobile/android/gradle/thirdparty/build/outputs/lint-results.xml
> Ran lint on variant debug: 1083 issues found
> Ran lint on variant release: 1083 issues found
> Wrote HTML report to
> file:/Users/martyn/Mozilla/git-src/objdir-android/mobile/android/gradle/base/build/outputs/lint-results.html
> Wrote XML report to
> /Users/martyn/Mozilla/git-src/objdir-android/mobile/android/gradle/base/build/outputs/lint-results.xml
>
> FAILURE: Build failed with an exception.
>
> * What went wrong:
> Execution failed for task ':app:dexDebug'.
> > com.android.ide.common.internal.LoggedErrorException: Failed to run
> command:
>       /Users/martyn/android-sdk-osx/build-tools/21.1.1/dx --dex
> --incremental --no-strict --no-optimize --output
> /Users/martyn/Mozilla/git-src/objdir-android/mobile/android/gradle/app/build/intermediates/dex/debug
> --input-list=/Users/martyn/Mozilla/git-src/objdir-android/mobile/android/gradle/app/build/intermediates/tmp/dex/debug/inputList.txt
>   Error Code:
>       2
>   Output:
>
>       UNEXPECTED TOP-LEVEL EXCEPTION:
>       com.android.dex.DexException: Multiple dex files define
> Landroid/support/v7/media/MediaRouter$Callback;
>           at
> com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
>           at
> com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
>           at
> com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
>           at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
>           at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
>           at
> com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
>           at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
>           at com.android.dx.command.dexer.Main.run(Main.java:245)
>           at com.android.dx.command.dexer.Main.main(Main.java:214)
>           at com.android.dx.command.Main.main(Main.java:106)
>
>
>
> * Try:
> Run with --stacktrace option to get the stack trace. Run with --info or
> --debug option to get more log output.
>
> BUILD FAILED
>
_______________________________________________
mobile-firefox-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to