4

I'm working with local notification in phonegap & i added a jar file: com.android.support:support-v4:22.0.0

But when i run 'app', gradle shows failed error:

Information:Gradle tasks [:app:assembleDebug]
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava
:app:preDexDebug
:app:dexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/app/NotificationCompatHoneycomb;
    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:303)
    at com.android.dx.command.dexer.Main.run(Main.java:246)
    at com.android.dx.command.dexer.Main.main(Main.java:215)
    at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
Information:BUILD FAILED
Information:Total time: 14.849 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

My app.iml:

<orderEntry type="jdk" jdkName="Android API 14 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="cordova-2.7.0" level="project" />
<orderEntry type="library" exported="" name="support-v4-22.0.0" level="project" />
<orderEntry type="library" exported="" name="java_websocket" level="project" />
<orderEntry type="library" exported="" name="support-annotations-22.0.0" level="project" />
<orderEntry type="library" exported="" name="google-play-services" level="project" />

My build.gradle:

dependencies {
    compile files('libs/cordova-2.7.0.jar')
    compile files('libs/google-play-services.jar')
    compile files('libs/java_websocket.jar')
    compile 'com.android.support:support-v4:22.0.0'
}

When i remove support-v4 so my project run fine.

Please help me.

Sangeeta
  • 961
  • 2
  • 13
  • 34
  • Looks like you are importing the support lib twice. Have you seen this question and answer: http://stackoverflow.com/questions/20989317/multiple-dex-files-define-landroid-support-v4-accessibilityservice-accessibility – kevinpelgrims Apr 17 '15 at 22:25

2 Answers2

0

Remove the line ('com.android.support:support-v4:22.0.0') from dependencies { compile files('libs/cordova-2.7.0.jar') compile files('libs/google-play-services.jar') compile files('libs/java_websocket.jar') compile 'com.android.support:support-v4:22.0.0' }

Shehroz Saleem
  • 196
  • 2
  • 15
0

you have to write compile 'com.android.support:support-v4:22.0.0' into the dependencies inside of the other build.gradle file (inside of the app folder) instead of the build.gradle you use (in the gradle folder). Yes, there are two files with the same name but in different folders.

Georg
  • 17
  • 3