2012-10-24 52 views
3

我遵循PhoneGap Android入門指示。唯一不完全如步驟中所述的是我有Cordova 2.1.0版。應用程序在我的手機上構建並安裝,但在啓動後會出現ClassNotFoundException。PhoneGap上的ClassNotFoundException Android上的入門

java.lang.RuntimeException:無法在loader dalvik.system中實例化活動ComponentInfo {com.example.phonegaptest/com.example.phonegaptest.MainActivity}:java.lang.ClassNotFoundException:com.example.phonegaptest.MainActivity。 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> 

+0

貴AndroidManifest.xml中是什麼樣子?這可能是問題所在。 –

回答

7

我解決了這個問題,但我不喜歡的解決方案。我進入了項目的Eclipse Build Path設置,並勾選了這些框以導出項目所依賴的三個罐子。這解決了這個問題。然後,我開始取消選中它們來確定我真的需要這樣做,並且在取消選中所有框之後,程序仍然運行。

+0

+1,我在更新ADT到v22時遇到了這個問題。我的所有電話差距項目都停止工作。按照您的建議進行操作後,我的應用程序會再次開始工作,謝謝。 –

+2

有時你可以通過重新排序lib導入列表來解決這個問題。我在頂部製作了科爾多瓦,而且效果很好。無論如何,這很奇怪。 –

+0

您的解決方案也適用於我,但部分。取消選中複選框後,你的應用程序仍然在工作,而我的不是。不知道將來是否會造成任何問題。 – sparrow

-1

我也面臨着類似的情況後,我升級到V22,當我添加的jar文件就開始構建路徑工作