Java 在Eclipse中运行Android应用程序会导致ClassNotFoundException
几个月前,我在Eclipse中创建了一个带有Android原型的Maven项目。从那时起,我就能够直接从Eclipse构建和部署我的应用程序,而且我还相信Maven安装能够正常工作(我通常获得构建成功)。然而,几天前我才意识到这一“成功”并不意味着什么——我尝试将使用Maven构建的apk部署到我的手机上(通过终端),应用程序立即崩溃。我注意到在构建过程中,我收到了一堆“Dx坏类文件魔术(cafebabe)或版本(0033.0000)”错误,因此我认为编译器存在一些问题-使用6而不是7,反之亦然。 在尝试在线找到的一系列解决方案时,我还更新了我的SDK工具,这导致Eclipse告诉我必须更新到23版,因为我正在使用22.6。但是,我无法更新IDE,因为我遇到了“冲突依赖项”错误。与此同时,我也阅读了所有的新版本有很多错误,所以我尝试回去,但现在我的工具文件夹从sdk文件夹中丢失了,没有任何效果。这也是我无法再从Eclipse运行应用程序的时候-我可以构建它,但尝试在手机上运行它会导致以下错误:Java 在Eclipse中运行Android应用程序会导致ClassNotFoundException,java,android,eclipse,maven,Java,Android,Eclipse,Maven,几个月前,我在Eclipse中创建了一个带有Android原型的Maven项目。从那时起,我就能够直接从Eclipse构建和部署我的应用程序,而且我还相信Maven安装能够正常工作(我通常获得构建成功)。然而,几天前我才意识到这一“成功”并不意味着什么——我尝试将使用Maven构建的apk部署到我的手机上(通过终端),应用程序立即崩溃。我注意到在构建过程中,我收到了一堆“Dx坏类文件魔术(cafebabe)或版本(0033.0000)”错误,因此我认为编译器存在一些问题-使用6而不是7,反之亦然
08-25 15:15:39.965: E/AndroidRuntime(23081): java.lang.RuntimeException: Unable
to instantiate activity ComponentInfo{me.comocomo.nutrino/me.comocomo.nutrino.
MainActivity}: java.lang.ClassNotFoundException: Didn't find class "me.comocomo.
nutrino.MainActivity" on path: DexPathList[[zip file "/data/app/me.comocomo.
nutrino-9.nativeLibraryDirectories=[/data/app-lib/me.comocomo.nutrino-9,
/vendor/lib, /system/lib]]
在这一点上,我放弃并下载了Eclipse的新版本,更准确地说是ADT包。这也不是很顺利,因为我在安装SVN和Maven插件时遇到了一些问题。因此,我尝试与安卓工作室合作;这要求我将我的原始项目导出为Gradle项目。我不确定导出-导入过程是否完全成功,但我决定将其搁置,并再次尝试解决Eclipse问题
不管怎么说,长话短说,我现在有了一个正在工作的Eclipse(在某种程度上,当我尝试打开它时,它仍然每隔一段时间挂起一次,然后我必须删除org.Eclipse.e4.workbench插件xml文件),特别是我下载的较新版本。我可以在Eclipse中构建我的应用程序(Maven安装失败),但我无法运行它。但是,在终端中部署apk是可行的,我的应用程序也会加载
我现在想弄明白的是:
[ERROR] Failed to execute goal on project NutrinoAndroid: Could not resolve
dependencies for project me.comocomo.nutrino:NutrinoAndroid:apk:alpha: Failed to
collect dependencies for [com.google.android:android:jar:4.1.1.4 (provided),
com.google.android.support:android-support-v4:jar:4 (compile),
com.google.android.support:android-support-v7-appcompat:jar:4 (compile),
android.support:compatibility-v7-appcompat:apklib:19.0.1 (compile),
android.support:compatibility-v7-appcompat:jar:19.0.1 (compile),
me.comocomo.nutrino:nutrino-api:jar:0.0.1-SNAPSHOT (compile),
com.octo.android.robospice:robospice-google-http-client:jar:1.4.12 (compile),
com.octo.android.robospice:robospice:jar:1.4.12 (compile),
commons-logging:commons-logging:jar:1.1.1 (provided),
com.google.http-client:google-http-client-jackson2:jar:1.18.0-rc (compile),
joda-time:joda-time:jar:2.3 (compile), org.quartz-scheduler:quartz:jar:2.2.1
(compile), org.quartz-scheduler:quartz-jobs:jar:2.2.1 (compile)]: Failed to read
artifact descriptor for java-activation-framework:jaf:jar:1.1.1: Could not
transfer artifact java-activation-framework:jaf:pom:1.1.1 from/to central
(http://repo.maven.apache.org/maven2): java.io.IOException: Remotely Closed [id:
0x33cfa965, /10.100.101.106:65051 :> repo.maven.apache.org/23.235.43.215:80] ->
[Help 1]
我不想把我所有的代码和配置文件都堆在这里,所以如果还需要什么,请告诉我,我会添加它
谢谢
编辑
我的舱单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="me.comocomo.nutrino"
android:versionCode="10"
android:versionName="alpha" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<!-- android:minSdkVersion="11" -->
<application
android:allowBackup="true"
android:icon="@drawable/planbtn"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light" >
<service
android:name="com.octo.android.robospice.JacksonGoogleHttpClientSpiceService"
android:exported="false" />
<activity
android:name="me.comocomo.nutrino.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="me.comocomo.nutrino.Login.LoginActivity"
android:label="@string/title_activity_login"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.GoalsSignupActivity"
android:label="@string/title_activity_goals_signup"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Login.SignUp.EmailSignUpActivity"
android:label="@string/title_activity_email_sign_up"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Translucent"
android:windowSoftInputMode="stateVisible" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.GoalInfoActivity"
android:label="@string/title_activity_goal_info"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.GoalsTargetWeightFragment"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.GoalsDevicesAppsConnectFragment"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.GoalsPhysiqueLifestyleActivity"
android:label="@string/title_activity_goals_physique_lifestyle"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.ActivityLevelActivity"
android:label="@string/title_activity_activity_level"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.ReduceFatActivity"
android:label="@string/title_activity_reduce_fat"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DiaryItemTypes.NonFood.LogDrinkActivity"
android:label="@string/title_activity_log_water"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DiaryItemTypes.NonFood.LogSleepActivity"
android:label="@string/title_activity_log_sleep"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DiaryItemTypes.NonFood.LogMeasurementsActivity"
android:label="@string/title_activity_log_measurements"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DiaryItemTypes.NonFood.LogFeelingActivity"
android:label="@string/title_activity_log_measurements"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DiaryItemTypes.Util.SelectMealsActivity"
android:label="@string/title_activity_select_meals"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DiaryItemTypes.Util.RateNutrinoActivity"
android:label="@string/title_activity_rate_nutrino"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DishBreakdownActivity"
android:label="@string/title_activity_meal_breakdown"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Goals.BasicDetailsActivity"
android:label="@string/title_activity_basic_details"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.ChooseAlternativeActivity"
android:label="@string/title_activity_choose_alternative"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.RecipeActivity"
android:label="@string/title_activity_recipe"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.RateDishActivity"
android:label="@string/title_activity_rate_dish"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.MealBreakdownActivity"
android:label="@string/title_activity_meal_breakdown"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.DailyBreakdownActivity"
android:label="@string/title_activity_daily_breakdown"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Profile.MyProfileActivity"
android:label="@string/title_activity_my_profile"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.ConnectionProblemActivity"
android:label="@string/title_activity_connection_problem"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Profile.BodyActivity"
android:label="@string/title_activity_body"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="me.comocomo.nutrino.Profile.FoodAllergiesActivity"
android:label="@string/title_activity_food_allergies" >
</activity>
<activity
android:name="me.comocomo.nutrino.Profile.ConnectActivity"
android:label="@string/title_activity_connect" >
</activity>
<activity
android:name="me.comocomo.nutrino.Profile.SettingsActivity"
android:label="@string/title_activity_settings" >
</activity>
<activity
android:name="me.comocomo.nutrino.Profile.SetProfileActivity"
android:label="@string/title_activity_set_profile" >
</activity>
<activity
android:name="me.comocomo.nutrino.TasteActivity"
android:label="@string/title_activity_taste" >
</activity>
<activity
android:name="me.comocomo.nutrino.EditGoalsActivity"
android:label="@string/title_activity_edit_goals" >
</activity>
<activity
android:name="me.comocomo.nutrino.Diary.PinMealActivity"
android:label="@string/title_activity_pin_meal" >
</activity>
</application>
还有我的pom:
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
我,科莫,纽蒂诺
营养素
阿尔法
apk
营养素
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<platform.version> 4.1.1.4
</platform.version>
<android.plugin.version>3.5.3</android.plugin.version>
<src.dir>src</src.dir>
</properties>
<repositories>
<repository>
<id>snapshot-repository.java.net</id>
<name>Java.net Snapshot Repository for Maven</name>
<url>https://maven.java.net/content/repositories/snapshots/</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${platform.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.android.support</groupId>
<artifactId>android-support-v4</artifactId>
<version>4</version>
</dependency>
<dependency>
<groupId>com.google.android.support</groupId>
<artifactId>android-support-v7-appcompat</artifactId>
<version>4</version>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v7-appcompat</artifactId>
<version>19.0.1</version>
<type>apklib</type>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v7-appcompat</artifactId>
<version>19.0.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>me.comocomo.nutrino</groupId>
<artifactId>nutrino-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>activation</artifactId>
<groupId>javax.activation</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId>
<version>2.7</version> </dependency> -->
<dependency>
<groupId>com.octo.android.robospice</groupId>
<artifactId>robospice-google-http-client</artifactId>
<version>1.4.12</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.octo.android.robospice</groupId>
<artifactId>robospice</artifactId>
<version>1.4.12</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.18.0-rc</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>${src.dir}</sourceDirectory>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>16</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
UTF-8
4.1.1.4
3.5.3
src
snapshot-repository.java.net
Maven的Java.net快照存储库
https://maven.java.net/content/repositories/snapshots/
违约
com.google.android
安卓
${platform.version}
假如
com.google.android.support
android-support-v4
4.
com.google.android.support
android-support-v7-appcompat
4.
android.support
兼容性-v7-appcompat
19.0.1
apklib
android.support
兼容性-v7-appcompat
19.0.1
罐子
我,科莫,纽蒂诺
纽蒂诺原料药
0.0.1-快照
激活
javax.activation
com.octo.android.robospice
robospice谷歌http客户端
1.4.12
公用记录
公用记录
com.octo.android.robospice
机器人世界
1.4.12
公用记录
公用记录
1.1.1
假如
com.google.http-client
google-http-client-jackson2
1.18.0-rc
乔达时间
乔达时间
2.3
org.quartz-scheduler
石英
2.2.1
org.quartz-scheduler
石英工作
2.2.1
${src.dir}
${project.artifactId}
com.jayway.maven.plugins.android.generation2
安卓maven插件
${android.plugin.version}
符合事实的
com.jayway.maven.plugins.android.generation2
安卓maven插件
16
您在清单文件中添加了MainActivity.java吗?。请显示清单文件。您的启动器是FragmentActivity?@Dhruti是的,它在清单中。我马上添加清单。@Arash这是一个ActionBarAct