Je suis en train de créer une application simple Hello World pour en savoir plus sur le package de compatibilité Android. Je suis en mesure d'obtenir l'application à exécuter sur l'émulateur 3.2, mais quand je le lance sur un émulateur 2.3.3 Je reçoisImpossible de résoudre FragmentActivity fonctionnant sous Android 2.3.3 avec le package de compatibilité v4
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]
Il ne peut évidemment pas trouver FragmentActivity (ce qui est super de com. exemple.MyActivity). Je ne sais pas pourquoi.
Quelques choses à noter:
1) Je suis en suivant les tutoriels à http://mobile.tutsplus.com/tutorials/android/android-compatibility-working-with-fragments/ qui n'est pas très complet.
2) Je suis sûr que je suis en train de construire le paquet de compatibilité dans l'APK correctement avec maven. J'ai installé le pot dans mon référentiel maven local et j'en dépends pour compiler. Je pense que si je ne le construisais pas correctement, il ne fonctionnerait pas sur l'émulateur 3.2.
3) J'ai essayé de construire avec IntelliJ et le plugin maven-compiler-plugin. Même résultat
Toute aide serait grandement appréciée. Merci.
EDIT ... Voici le Manifest
<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" />
et la MyActivity définition
public class MyActivity extends FragmentActivity implements TutListFragment.OnTutSelectedListener
J'ai aussi eu le problème. J'ai trouvé votre commentaire, Dan, et je l'ai fait comme vous l'avez dit. Faites un clic droit sur le projet, Outils Android, Ajouter une bibliothèque de support. Avez-vous l'astuce! – Davek804
Merci Davek804, je suis tellement énervé coz de ce problème depuis tant de jours maintenant. Ne sachez pas si l'équipe ADT a publié une déclaration officielle pour cette chose particulière !!! –
Oui, regardez ceci [réponse] (http: // stackoverflow.com/questions/11764195/incapable-de-résoudre-super-classe-de-landroid-support-v4-app-fragmentactivity) ainsi. Les dépendances privées qui ne sont pas cochées dans le chemin de génération d'exportation peuvent être un problème possible. – asgs