Java 无法合并Dex-commons apache
我已尝试修复以下错误数小时: 错误:任务“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”的执行失败。 java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex 在这本指南之后,我正在制定一份待办事项清单 这一切都解决了,但在结束后,我总是得到显示的错误。 我已经试过了:Java 无法合并Dex-commons apache,java,android,xml,android-studio,apache-commons,Java,Android,Xml,Android Studio,Apache Commons,我已尝试修复以下错误数小时: 错误:任务“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”的执行失败。 java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex 在这本指南之后,我正在制定一份待办事项清单 这一切都解决了,但在结束后,我总是得到显示的错误。 我已经试过了: 清理和重建 删除梯度 启用多索引 重新启
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.android.organizesify2"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'org.apache.commons:commons-io:1.3.2'
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'
implementation 'com.android.support:design:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
这是我的java类:
package com.example.android.organizesify2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
public class ToDoList extends AppCompatActivity {
private ArrayList<String> items;
private ArrayAdapter<String> itemsAdapter;
private ListView lvItems;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id== R.id.toDoList)
{
Toast.makeText(this, "Settings", Toast.LENGTH_LONG).show();
}else if (id== R.id.aboutus){
Toast.makeText(this, "About us", Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_do_list);
lvItems = (ListView) findViewById(R.id.lvItems);
readItems();
itemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1
,items);
lvItems.setAdapter(itemsAdapter);
setupListViewListener();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
public void onAddItem(View view){
EditText etNewItem = (EditText) findViewById(R.id.etNewItem);
String itemText = etNewItem.getText().toString();
itemsAdapter.add(itemText);
etNewItem.setText("");
writeItems();
}
private void setupListViewListener(){
lvItems.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapter, View item, int pos, long id) {
items.remove(pos);
itemsAdapter.notifyDataSetChanged();
writeItems();
//Toast.makeText(ToDoList.this, "DONE", Toast.LENGTH_LONG).show();
return true;
}
});
}
private void readItems(){
File filesDir = getFilesDir();
File todoFile = new File(filesDir, "todo.txt");
try
{
items = new ArrayList<String>(FileUtils.readLines(todoFile));
}
catch(IOException e){
items = new ArrayList<String>();
}
}
private void writeItems(){
File filesDir = getFilesDir();
File todoFile = new File(filesDir, "todo.txt");
try{
FileUtils.writeLines(todoFile, items);
} catch (IOException e){
e.printStackTrace();
}
}
}
package com.example.android.organizesfy2;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.ListView;
导入android.widget.Toast;
导入org.apache.commons.io.FileUtils;
导入java.io.File;
导入java.io.IOException;
导入java.util.ArrayList;
公共类ToDoList扩展了AppCompative活动{
私有ArrayList项;
专用阵列适配器项适配器;
私有ListView项目;
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
int id=item.getItemId();
if(id==R.id.toDoList)
{
Toast.makeText(这是“设置”,Toast.LENGTH_LONG).show();
}else if(id==R.id.aboutus){
Toast.makeText(这是“关于我们”,Toast.LENGTH_LONG).show();
}
返回super.onOptionsItemSelected(项目);
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u to\u do\u列表);
lvItems=(ListView)findViewById(R.id.lvItems);
readItems();
itemsAdapter=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1
,项目);
lvItems.setAdapter(itemsAdapter);
setupListViewListener();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.menu,menu);
返回super.onCreateOptions菜单(菜单);
}
附加项上的公共无效(视图){
EditText etNewItem=(EditText)findViewById(R.id.etNewItem);
String itemText=etNewItem.getText().toString();
itemsAdapter.add(itemText);
etNewItem.setText(“”);
writeItems();
}
私有void setupListViewListener(){
lvItems.setOnItemLongClickListener(新的AdapterView.OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView适配器、视图项、整数位置、长id){
项目。移除(pos);
itemsAdapter.notifyDataSetChanged();
writeItems();
//Toast.makeText(ToDoList.this,“DONE”,Toast.LENGTH_LONG.show();
返回true;
}
});
}
私有void readItems(){
File filesDir=getFilesDir();
File todoFile=新文件(filesDir,“todo.txt”);
尝试
{
items=newarraylist(FileUtils.readLines(todoFile));
}
捕获(IOE异常){
items=newarraylist();
}
}
私有无效writeItems(){
File filesDir=getFilesDir();
File todoFile=新文件(filesDir,“todo.txt”);
试一试{
FileUtils.writeLines(todoFile,items);
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
我编译了“org.apache.commons:commons io:1.3.2”
对于编译组:'commons io',名称:'commons io',版本:'2.4'我解决了alter compile'org.apache.commons:commons io:1.3.2'
对于编译组:'commons io',名称:'commons io',版本:'2.4'这听起来可能很愚蠢,但您是否退出android studio并重新启动了它?甚至可能关掉电脑。这为我解决了几个安卓工作室的问题,可能值得花几分钟来尝试,因为你已经尝试了一段时间。就像我在“4”中说的。我已经尝试过了。没有帮助…但是谢谢你的帮助@这听起来可能很傻,但你退出android studio并重新启动了吗?甚至可能关掉电脑。这为我解决了几个安卓工作室的问题,可能值得花几分钟来尝试,因为你已经尝试了一段时间。就像我在“4”中说的。我已经尝试过了。没有帮助…但是谢谢你的帮助@阿普尔库什