我正在尝试为android应用制作文件选择器,但没有看到任何问题,但是当我运行它时,我得到了:
Duplicate class android.support.design.widget.CoordinatorLayout found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:25.3.1)
我已尝试再次同步Gardle,但无法正常工作
在Gardle文件项目中,我添加了以下内容:
maven {
url "http://dl.bintray.com/lukaville/maven"
}
在Gardle文件模块中,我添加了以下内容:
compile 'com.nbsp:library:1.8'
并使用此库,我将其添加到MainActivity.java中:
button =(Button)findViewById(R.id.button); textView =(TextView)findViewById(R.id.textView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new MaterialFilePicker()
.withActivity(MainActivity.this)
.withRequestCode(1000)
.withFilter(Pattern.compile(".*\\.txt$"))
.withFilterDirectories(true)
.withHiddenFiles(true)
.start();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK) {
String filePath = data.getStringExtra(FilePickerActivity.RESULT_FILE_PATH);
textView.setText(filePath);
}
我没有收到任何语法错误,但是运行时,我在logcat中收到一条错误消息::app:checkDebugDuplicateClasses
和
Duplicate class android.support.design.widget.CoordinatorLayout found in modules classes.jar (com.android.support:coordinatorlayout:28.0.0) and classes.jar (com.android.support:design:25.3.1)
以及其他类似的东西。
答案 0 :(得分:1)
我发现更新android支持设计库可以解决此问题。只需在您应用的Gradle文件中实现此类:com.android.support:design:28.0.0
似乎出现问题是因为Android Studio提到的两个不同版本的支持库中有两个相互冲突的CoordinatorLayout版本。
我希望这对某人有帮助。
答案 1 :(得分:0)
发生此问题是因为lib已过期。很久没有更新了。
MaterialFilePicker项目的this is gradle。您可以看到,无论Android Studio怎么说对。
解决方案:
了解发生的原因。由于这是正常的Android支持库,因此它们的版本应该相同。这就是jetpack引入AndroidX的原因之一。