PhoneGap上的ClassNotFoundException Android入门

时间:2012-10-24 20:37:09

标签: android cordova

我遵循了PhoneGap Android入门指南。唯一不完全如步骤中描述的那样是我有cordova版本2.1.0。该应用程序在我的手机上构建和安装,但在启动后立即提供ClassNotFoundException。

java.lang.RuntimeException:无法实例化活动ComponentInfo {com.example.phonegaptest / com.example.phonegaptest.MainActivity}:java.lang.ClassNotFoundException:com.example.phonegaptest.MainActivity in loader dalvik.system.PathClassLoader [/data/app/com.example.phonegaptest-2.apk]

MainActivity是应用程序中唯一的类。为什么不能找到它?

更新: 这是我的清单:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:resizeable="true" 
    android:anyDensity="true" />

<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" 
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

2 个答案:

答案 0 :(得分:7)

我解决了这个问题,但我不喜欢这个解决方案。我进入了项目的Eclipse Build Path设置,并选中了框以导出项目所依赖的三个jar。这解决了这个问题。然后我开始取消选中它们以确定我真正需要做哪一个,并且在取消选中所有框之后,程序仍然运行。

答案 1 :(得分:-1)

我升级到v22之后也面临着类似的情况,当我将jar文件添加到它开始工作的构建路径时