3

我按照 PhoneGap 的 Android 入门说明进行操作。唯一与步骤中描述的不完全一样的是,我有科尔多瓦 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>

4

2 回答 2

7

我解决了这个问题,但我不喜欢这个解决方案。我进入项目的 Eclipse 构建路径设置,并选中复选框以导出项目所依赖的三个 jar。这解决了问题。然后我开始取消选中它们以找出我真正需要为哪一个执行此操作,并且在取消选中所有框后,程序仍然运行。

于 2012-11-02T12:48:02.903 回答
-1

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

于 2013-05-30T16:22:50.787 回答