2017-10-30 3 views
5

が提供するクラスと競合私は3エラー:エラー:JSONクラスとの競合が今のAndroidが提供するクラスを定義するJSONは、Android Studioの上でリリースビルドを行うときに、今のAndroid

エラーは、次のエラーを得たクラスを定義しています。ソリューションには、同じ問題がない新しいバージョンや代替ライブラリ(たとえば、httpclientでHttpUrlConnectionまたはokhttpを使用する)や、jarjarなどのライブラリを使用して再パッケージ化するなどがあります。 [DuplicatePlatformClasses]

次は私の依存関係です:

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:26.0.1' 
    compile 'com.android.support:support-v4:26.0.1' 
    compile 'org.greenrobot:eventbus:3.0.0' 
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+' 
    compile 'com.evernote:android-job:1.2.0' 
    compile 'com.amitshekhar.android:android-networking:1.0.0' 
    compile 'com.facebook.stetho:stetho:1.5.0' 
    compile "me.tatarka.redux:redux-core:0.10" 
    compile "me.tatarka.redux:redux-android:0.10" 
    compile "me.tatarka.redux:redux-android-lifecycle:0.10" 
    compile "me.tatarka.redux:redux-thunk:0.10" 
    annotationProcessor "org.immutables:value:2.5.5" // <-- for annotation processor 
    provided "org.immutables:value:2.5.5" // for annotations 
    provided "org.immutables:builder:2.5.5" // for annotations 

    compile "me.tatarka.redux:redux-monitor:0.10" 
    testCompile 'junit:junit:4.12' 
} 

それはJSONを言っているが、私は、問題を引き起こしている上記の依存関係の商品が見つかりません。ここで

は私はタイプの問題「DuplicatePlatformClasses」の

gradlew assembleRelease 

Task :app:lintVitalRelease /Users/kruyvanna/Projects/key/HappyKey_Android2/app/build.gradle: Error: json defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses]

説明を実行したときに得るものです: Androidプラットフォームが、使用するだけでなく、機能を複製ライブラリの数があります。 Androidで提供される と同じクラス名 - 例えばapache httpクラス。これにより、 が突然クラッシュする可能性があります。この問題を解決するには

、あなたは、最終的に はもはやこの問題を持っているライブラリの新しいバージョンを見つけるために、いずれか、またはライブラリ(およびその すべての依存関係を)再パッケージするjarjarツールのようなものを使用して、または必要 異なるAPIを使用するコードを書き換える(例えば、HTTPコードのために、 のHttpURLConnectionまたはokhttpのようなライブラリを使用することを検討してください。)

1エラー、0警告

FAILURE:例外で失敗しましたビルドを。

何が悪かったのか
  • : 実行がタスクに失敗しました ':アプリ:lintVitalRelease'。どちらか、続行lintが特定された問題を修正するか、次のようにビルドスクリプトを変更するには

    Lint found fatal errors while assembling a release target.

    : ... アンドロイド{ lintOptions { checkReleaseBuildsご希望の場合はfalse //あるいは、あなたがすることができますトライ

  • ... abortOnError偽 を}} :// 、リリースではエラーを構築しますチェックしますが、エラーが検出された場合でも、ビルドを継続し続けます--stacktraceオプションを指定して実行すると、スタックトレースを取得できます。より多くのログ出力を得るには、--infoまたは--debugオプションを指定して実行します。

  • は、コマンドラインに移動し、依存関係ツリーを見てhttps://help.gradle.org

+0

でこれを追加しますか? – Lino

+0

私はAndroid Studioを使用しています。 「ビルド - >署名付きAPKを生成」をクリック – vanna

+0

問題を解決しましたか?私は同じ問題に直面しています。 – Hong

答えて

0

でより多くのヘルプを表示します。これは、あなたのアプリが使用するすべてのリストが表示されます:

./gradlew dependencies 
0

私は追加することによって、それを固定一つ一つの依存関係を追加し、この1つはエラーに

compile "me.tatarka.redux:redux-monitor:0.10" 
0

の原因が見つかりました:

configurations { 
    all { 
     exclude group: 'org.json', module: 'json' 
    } 
} 

〜モジュールのgradleファイルでは、依存関係を削除する必要はありませんでした。

0

はあなたが何のビルドツールを使用してくださいあなたのapp/build.gradle

configurations { 
    all { 
     exclude module: 'commons-logging' 
    } 
} 
関連する問題