このエラーが存在する理由がわかりません。
Program type already present: org.hamcrest.CoreMatchers
Message{kind=ERROR, text=Program type already present: org.hamcrest.CoreMatchers, sources=[Unknown source file], tool name=Optional.of(D8)}
Build.gradle(モジュール:アプリ)の依存関係が次の場合、スコープ内の私のコードは次のとおりです。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:26.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation ('junit:junit:4.12'){
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.monkeylearn:monkeylearn-Java:0.1.4'
}
主な活動:
import Android.support.v7.app.AppCompatActivity;
import Android.os.Bundle;
import com.monkeylearn.MonkeyLearn;
import com.monkeylearn.MonkeyLearnException;
import com.monkeylearn.MonkeyLearnResponse;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
MonkeyLearn ml = new MonkeyLearn("*******************************");
String moduleId = "*********";
String[] textList = {"This is a text to test your classifier", "This is some more text"};
MonkeyLearnResponse res = ml.classifiers.classify(moduleId, textList, true);
System.out.println( res.arrayResult );
} catch (MonkeyLearnException e) {
e.printStackTrace();
}
}
}
あなたはなにか考えはありますか?
私が答えた別の質問のsimple-json
にも同様の問題があります ここ 。 monkeylearn-Java
とjunit
、またはその他のGoogle以外の依存関係についても、同じことを1つずつ行うことをお勧めします。つまり、jarファイルをダウンロードして、libs
フォルダーに1つずつ配置します。 1つは、どちらが問題であるかを特定し、それをlibs
フォルダーに残します。
これはAndroid StudioまたはGradleのバグだと思います。
simple-json
でも同様の問題が発生しました。そのための解決策は、JUnitの依存関係を除外することでした。
私はAndroidプログラミングの専門家ではありませんが、JUnit testImplementation
からhamcrest-core
を除外するのは奇妙だと思います。外部から推移的な依存関係を除外することをお勧めしますlibs。
simple-json
の場合、これが私の解決策でした。
implementation('com.googlecode.json-simple:json-simple:1.1.1') {
exclude group: 'junit', module: 'junit'
}
monkeylearn-Java
についても同じことができるかもしれませんか?