我正在構建一個簡單的Hello World應用,以瞭解Android兼容包。我能夠獲得該應用在3.2模擬器上運行,但是當我在2.3.3模擬器中運行它,我得到無法解析在Android 2.3.3上運行的具有兼容性包v4的FragmentActivity
10-12 11:36:14.474: WARN/dalvikvm(469): Unable to resolve superclass of Lcom/example/MyActivity; (11)
10-12 11:36:14.564: WARN/dalvikvm(469): Link of class 'Lcom/example/MyActivity;' failed
10-12 11:36:14.564: DEBUG/AndroidRuntime(469): Shutting down VM
10-12 11:36:14.584: WARN/dalvikvm(469): threadid=1: thread exiting with uncaught exception (group=0x40015560)
10-12 11:36:14.624: ERROR/AndroidRuntime(469): FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example/com.example.MyActivity}: java.lang.ClassNotFoundException: com.example.MyActivity in loader dalvik.system.PathClassLoader[/data/app/com.example-1.apk]
所以,很顯然它無法找到FragmentActivity(這是COM的超級。 example.MyActivity)。我只是不知道爲什麼。
需要注意以下幾點:
1)我在之後的http://mobile.tutsplus.com/tutorials/android/android-compatibility-working-with-fragments/教程這是不是很徹底。
2)我很確定我正在用maven正確地將兼容性包構建到APK中。我在我的本地maven倉庫中安裝了jar,並且依靠它來編譯。我認爲如果我沒有正確地構建它,它將不會在3.2模擬器上運行。
3)我試過用IntelliJ和maven-compiler-plugin構建。同樣的結果。
任何幫助將不勝感激。謝謝。
編輯... 這裏的清單
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:name=".MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TutViewerActivity"
android:label="@string/app_name" >
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
和MyActivity定義
public class MyActivity extends FragmentActivity implements TutListFragment.OnTutSelectedListener
我也有問題。我發現你的評論,丹,並按照你的說法。右鍵單擊項目,Android工具,添加支持庫。訣竅! – Davek804
謝謝Davek804,這麼多日子裏我一直很生氣。不知道ADT團隊是否發佈了這個特定事情的官方聲明! –
是的,看看這個[回答](http:// stackoverflow。com/questions/11764195/unable-to-resolve-superclass-of-landroid-support-v4-app-fragmentactivity)。在導出構建路徑中未選中的私有依賴可能是一個可能的問題。 – asgs