Android Studio - Тип программы уже присутствует: org.hamcrest.CoreMatchers
Я не знаю, почему эта ошибка существует:
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(Module: app):
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();
}
}
}
У тебя есть идеи?
Ответы
Ответ 1
Аналогичная проблема с simple-json
в другом вопросе я ответил здесь. Я предлагаю вам сделать то же самое для monkeylearn-java
и junit
или любых других зависимостей без google один за другим, я имею в виду загружать их файлы jar и помещать их в папку libs
один за другим, чтобы выяснить, какая из них является проблемой, и оставьте его в папке libs
.
Я думаю, что это ошибка в Android Studio или в Gradle.
Ответ 2
У меня была похожая проблема с simple-json
. Для этого решением было исключить зависимость JUnit.
Я не эксперт по программированию на Android, но мне кажется странным, что вы исключаете hamcrest-core
из JUnit testImplementation
. Я бы предпочел исключить транзитивные зависимости от внешних библиотек.
Для simple-json
это было мое решение:
implementation('com.googlecode.json-simple:json-simple:1.1.1') {
exclude group: 'junit', module: 'junit'
}
Может быть, вы можете сделать то же самое для monkeylearn-java
?