これは私の.gradleファイルです:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.test.test"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/license.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/notice.txt'
exclude 'META-INF/NOTICE'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:21.0.3'
compile 'com.mcxiaoke.volley:library:1.0.15'
compile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.17'
}
Androidアプリを実行しようとすると、次のエラーが発生します。
エラー:タスク ':app:dexDebug'の実行に失敗しました。
com.Android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:プロセス 'command'/usr/lib/jvm/Java-8-Oracle/bin/Java ''がゼロ以外の終了で終了しました値2
Gradleファイルにjacksonライブラリを追加すると、このエラーが発生します。しばらくの間グーグル検索を行った結果、jacksonライブラリはAndroidアプリと互換性があり、他のライブラリよりもgsonの方が高速です。
どうすれば解決できますか?私はAndroid初心者です。
Java JDK change jvm v8 for jdk7を変更する必要があると思います。このリンクはあなたに役立ちます: Java 8 for Android開発?
その他の考えられる問題は、依存関係エラーです。ビルドする前にGradleをクリーンアップしてください。そして、これのためにあなたのジャクソンライブラリを変更してください:
compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
不快なことに、この問題にはいくつかの理由があります。私の場合、最大行数を超えたことが原因でした。 Android Studioが表示するメッセージは何の意味もないのでとても煩わしいですが、どういうわけか私は以下のように解決策を見つけました:
https://developer.Android.com/tools/building/multidex.html
MultiDexApplicationを拡張するクラスを作成し、次のメソッドをオーバーライドする必要があります。
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
上記のリンクで説明されているように、AndroidManifestファイルのタグ内に「名前」を追加することを忘れないでください。
JDKパスを修正すると問題が解決します。
プロジェクトを右クリックして、[プロジェクト]> [モジュール設定を開く]> [SDKの場所]> [JDKの下]の場所にJDKフォルダーへのパスを指定します。
必要なライブラリをmy_project/app/libsにコピーし、build.gradleに依存関係を追加しました。したがって、私の場合、my_project/app/libsにコピーしたライブラリを削除しました。 Gradleはすべての依存関係を維持するので、ライブラリを/ libsに置く必要はありません。これで問題が解決しました。