Android 无法执行dex:多个dex文件定义(&;java.lang.NoClassDefFoundError
我犯了两个错误。我不知道该怎么办。 第一个错误: [2014-07-04 15:07:01-索引加载程序]无法执行索引:多个索引 文件定义Lcom/google/gdata/util/common/base/Escaper [2014-07-04 15:07:01-MyGov]转换为Dalvik格式失败: 无法执行dex:多个dex文件定义 Lcom/google/gdata/util/common/base/Escaper;Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl 正如所建议的,未经检查的Android私有库 我已经将所有库(来自AndroidPrivateLibraries)添加到了libs中,除了support-v4-18.0.4.jar库(这会导致之前声明的错误) SplashActivity(此活动在应用程序启动时打开)工作正常。但当我试图打开MainActivity时,出现了以下错误: java.lang.NoClassDefFoundError: com.globalsolutions.mygov.ui.main活动 根据这项研究,Android私有库应该被检查 结论:Android 无法执行dex:多个dex文件定义(&;java.lang.NoClassDefFoundError,android,java,Android,Java,我犯了两个错误。我不知道该怎么办。 第一个错误: [2014-07-04 15:07:01-索引加载程序]无法执行索引:多个索引 文件定义Lcom/google/gdata/util/common/base/Escaper [2014-07-04 15:07:01-MyGov]转换为Dalvik格式失败: 无法执行dex:多个dex文件定义 Lcom/google/gdata/util/common/base/Escaper;Landroid/support/v4/accessibilityse
error#1 makes me to uncheck Android Private libraries
error#2 makes me to re-check Android Private libraries
在这种情况下怎么办?如何解决这个问题?
谢谢你宝贵的时间
更新:
控制台中错误1的通知:
[2014-07-04 15:06:48-MyGov]Dx写入输出故障:已存在
已准备[2014-07-04 15:07:01-Dex加载程序]无法执行Dex:
多个dex文件定义Lcom/google/gdata/util/common/base/Escaper;
[2014-07-04 15:07:01-MyGov]转换为Dalvik格式失败:
无法执行dex:多个dex文件定义
Lcom/google/gdata/util/common/base/Escaper
错误2的Logcat:
07-04 15:15:07.679:E/AndroidRuntime(26204):致命异常:主
07-04 15:15:07.679:E/AndroidRuntime(26204):
java.lang.NoClassDefFoundError:
com.globalsolutions.mygov.ui.main活动07-04 15:15:07.679:
E/AndroidRuntime(26204):在
com.globalsolutions.mygov.ui.SplashActivity.startMainActivity(SplashActivity.java:174)
07-04 15:15:07.679:E/AndroidRuntime(26204):在
com.globalsolutions.mygov.ui.SplashActivity$6$3.run(SplashActivity.java:275)
07-04 15:15:07.679:E/AndroidRuntime(26204):在
android.os.Handler.handleCallback(Handler.java:587)07-04
15:15:07.679:E/AndroidRuntime(26204):在
android.os.Handler.dispatchMessage(Handler.java:92)07-04
15:15:07.679:E/AndroidRuntime(26204):在
android.os.Looper.loop(Looper.java:130)07-04 15:15:07.679:
E/AndroidRuntime(26204):在
android.app.ActivityThread.main(ActivityThread.java:3687)07-04
15:15:07.679:E/AndroidRuntime(26204):在
java.lang.reflect.Method.Invokenactive(本机方法)07-04
15:15:07.679:E/AndroidRuntime(26204):在
java.lang.reflect.Method.invoke(Method.java:507)07-04 15:15:07.679:
E/AndroidRuntime(26204):在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
07-04 15:15:07.679:E/AndroidRuntime(26204):在
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)07-04
15:15:07.679:E/AndroidRuntime(26204):在
dalvik.system.NativeStart.main(本机方法)07-04 15:15:07.687:
E/liblog(1516):调用转储状态07-04 15:15:07.687:E/(1516)失败:
Dumpstate>/data/log/Dumpstate\u应用程序\u错误
主要活动代码:
package com.globalsolutions.mygov.ui;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.globalsolutions.mygov.Preferences;
import com.globalsolutions.mygov.R;
import com.globalsolutions.mygov.ui.master.MasterWizardActivity;
import com.google.analytics.tracking.android.EasyTracker;
public class MainActivity extends BaseActivity {
public static final String TAG = MainActivity.class.getSimpleName();
private LinearLayout warningContainer;
private TextView warningLabel;
private Button history;
private Button appeal;
private Button call;
private Button about;
private Button settings;
private Preferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
initViews();
prefs = Preferences.getInstance(this);
}
@Override
public void onResume() {
Preferences.refActivity = this;
super.onResume();
}
/**
* Поиск и инициализация вьюшек
*/
private void initViews() {
warningContainer = (LinearLayout) findViewById(R.id.warning);
warningLabel = (TextView) findViewById(R.id.warningLabel);
history = (Button) findViewById(R.id.history);
appeal = (Button) findViewById(R.id.appeal);
call = (Button) findViewById(R.id.call);
about = (Button) findViewById(R.id.about);
settings = (Button) findViewById(R.id.settings);
Intent intent = getIntent();
if (intent != null) {
String status = intent.getStringExtra("status");
if (!"success".equals(status)) {
warningContainer.setVisibility(View.VISIBLE);
history.setEnabled(false);
appeal.setEnabled(false);
}
}
}
/**
* История обращений
* @param v
*/
public void historyClick(View v) {
EasyTracker.getTracker().sendEvent("Главное меню", "Выбран пункт", "История обращений", (long) 0);
Intent i = new Intent(getApplicationContext(), RequestsListActivity.class);
startActivity(i);
overridePendingTransition(0, 0);
}
/**
* Подать обращение
* @param v
*/
public void appealClick(View v) {
EasyTracker.getTracker().sendEvent("Главное меню", "Выбран пункт", "Подать обращение", (long) 0);
Intent i = new Intent(getApplicationContext(), MasterWizardActivity.class);
startActivity(i);
overridePendingTransition(0, 0);
}
/**
* Позвонить в Call-центр
* @param v
*/
public void callClick(View v) {
EasyTracker.getTracker().sendEvent("Главное меню", "Выбран пункт", "Позвонить в call-центр", (long) 0);
dialPhone();
}
/**
* О приложении
* @param v
*/
public void aboutClick(View v) {
EasyTracker.getTracker().sendEvent("Главное меню", "Выбран пункт", "О приложении", (long) 0);
Intent intent = new Intent(this, AboutActivity.class);
startActivity(intent);
}
/**
* Настройки
* @param v
*/
public void settingsClick(View v) {
EasyTracker.getTracker().sendEvent("Главное меню", "Выбран пункт", "Настройки", (long) 0);
Intent intent = new Intent(this, PreferencesActivity.class);
startActivity(intent);
}
@Override
public void onStart() {
super.onStart();
EasyTracker.getInstance().activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance().activityStop(this);
}
}
我犯了两个错误。我不知道该怎么办。第一个错误:
这个错误是不言自明的。如前所述,您将包括2个以上的JAR(或者一个JAR加上您自己的Java类),其中包含重复项
解决方案是确定复制品来自何处(例如,检查罐子),然后确定要更改或丢弃哪个罐子
正如这里所建议的,未经检查的Android私有库
我对这个答案投了反对票,因为它是相当错误的
我已经将所有库(来自AndroidPrivateLibraries)添加到了libs中,除了support-v4-18.0.4.jar库(这会导致之前声明的错误)
我将这句话解释为“当我添加support-v4-18.0.4.jar
时,我开始出现构建错误”。在这种情况下,您知道两个罐子中的一个是问题的根源。如果类名冲突,我猜另一个是libGoogleAnalyticsV2.jar
。您需要:
请张贴您的日志、清单和相关代码。