我介于2个错误之间。我不知道该怎么办。 第一个错误:
[2014-07-04 15:07:01 - Dex Loader]无法执行dex:多个dex 文件定义Lcom / google / gdata / util / common / base / Escaper;
[2014-07-04 15:07:01 - MyGov]转换为Dalvik格式失败: 无法执行dex:多个dex文件定义 LCOM /谷歌/ GDATA / util的/普通/碱/逃避者; Landroid /支撑/ V4 / accessibilityservice / AccessibilityServiceInfoCompat $ AccessibilityServiceInfoVersionImpl;
根据建议here,取消选中Android私有库
我已将所有库(来自AndroidPrivateLibraries)添加到libs中,除了support-v4-18.0.4.jar库(导致之前声明的错误)。
SplashActivity(此活动在应用程序启动时打开)工作正常。但是当我尝试打开MainActivity时出现错误:
java.lang.NoClassDefFoundError: com.globalsolutions.mygov.ui.MainActivity
根据this solution,应检查Android私有库。
结论:
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 Loader]无法执行dex: 多个dex文件定义Lcom / google / gdata / util / common / base / Escaper; [2014-07-04 15:07:01 - MyGov]转换为Dalvik格式失败: 无法执行dex:多个dex文件定义 LCOM /谷歌/ GDATA / util的/普通/碱/逃避者;
Logcat for error 2:
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.MainActivity 07-04 15:15:07.679: E / AndroidRuntime(26204):at com.globalsolutions.mygov.ui.SplashActivity.startMainActivity(SplashActivity.java:174) 07-04 15:15:07.679:E / AndroidRuntime(26204):at com.globalsolutions.mygov.ui.SplashActivity $ 6 $ 3.run(SplashActivity.java:275) 07-04 15:15:07.679:E / AndroidRuntime(26204):at android.os.Handler.handleCallback(Handler.java:587)07-04 15:15:07.679:E / AndroidRuntime(26204):at android.os.Handler.dispatchMessage(Handler.java:92)07-04 15:15:07.679:E / AndroidRuntime(26204):at android.os.Looper.loop(Looper.java:130)07-04 15:15:07.679: E / AndroidRuntime(26204):at android.app.ActivityThread.main(ActivityThread.java:3687)07-04 15:15:07.679:E / AndroidRuntime(26204):at java.lang.reflect.Method.invokeNative(Native Method)07-04 15:15:07.679:E / AndroidRuntime(26204):at java.lang.reflect.Method.invoke(Method.java:507)07-04 15:15:07.679: E / AndroidRuntime(26204):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:867) 07-04 15:15:07.679:E / AndroidRuntime(26204):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)07-04 15:15:07.679:E / AndroidRuntime(26204):at dalvik.system.NativeStart.main(Native Method)07-04 15:15:07.687: E / liblog(1516):未能调用dumpstate 07-04 15:15:07.687:E /(1516): Dumpstate> /数据/日志/ dumpstate_app_error
主要活动代码:
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);
}
}
答案 0 :(得分:1)
我介于2个错误之间。我不知道该怎么办。第一个错误:
此错误相当不言自明。您将包含2个以上JAR(或JAR以及您自己的Java类),这些JAR具有所述的重复项。
解决方案是确定重复的来源(例如,检查JAR),然后确定要更改或删除的JAR。
根据此处的建议,取消选中Android私人库
我倾向于回答这个问题,因为这是错误的。
我已将所有库(来自AndroidPrivateLibraries)添加到libs中,除了support-v4-18.0.4.jar库(导致之前声明的错误)。
我正在将该句子解释为"当我添加support-v4-18.0.4.jar
时,我开始收到构建错误"。在这种情况下,您知道两个JAR中的一个是您问题的根源。鉴于冲突中的类名,我猜其他的是libGoogleAnalyticsV2.jar
。你需要:
查找旨在协同工作的这些JAR的版本,或
摆脱其中一个JAR。