J'ai installé MonoDroid (et tous les prérequis) et essayé d'exécuter le projet Android par défaut dans VS2010. Voici le code:L'application par défaut de Monodroid dans VS2010 ne fonctionne pas avec l'erreur "activity not found"
[Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
int count = 1;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton);
button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
}
}
Lors de l'exécution de l'application d'une erreur est renvoyée:
a tenté de lancer l'activité 'MonoAndroidApplication1.MonoAndroidApplication1/monoandroidapplication1.Activity1', mais l'appareil n'a pas pu le trouver. Une cause fréquente de ceci est l'ajout manuel d'un fichier à votre AndroidManifest.xml dont le nom ne correspond pas à votre classe d'activité.
Vous pouvez utiliser les [activité] attribut à la place: http://monodroid.net/Tutorials/Working_with_AndroidManifest.xml
J'ai installé le SDK Android dans C: \ Android_SDK et définir en conséquence l'emplacement dans Outils-> Options-> Mono pour Android.
Mono semble également être correctement installé sur l'émulateur et c'est le dernier bit du journal de la BAD:
-- Process Finished [5000] --
-- Starting Process - 17/08/2011 12:01:03 --
Executable: C:\Android_SDK\platform-tools\adb.exe
Arguments: -s emulator-5554 install "C:\Users\***************\documents\visual studio 2010\Projects\MonoAndroidApplication1\MonoAndroidApplication1\bin\Debug\MonoAndroidApplication1.MonoAndroidApplication1-Signed.apk"
Appending Java path: C:\Program Files\Java\jdk1.7.0\bin
[STDOUT] pkg: /data/local/tmp/MonoAndroidApplication1.MonoAndroidApplication1-Signed.apk
[STDOUT]
[STDOUT] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
[STDOUT]
[STDERR] 696 KB/s (139717 bytes in 0.196s)
-- Starting Process - 17/08/2011 12:01:05 --
Executable: C:\Android_SDK\platform-tools\adb.exe
Arguments: start-server
Appending Java path: C:\Program Files\Java\jdk1.7.0\bin
[STDOUT]
[STDERR]
-- Process Finished [5000] --
-- Starting Process - 17/08/2011 12:01:05 --
Executable: C:\Android_SDK\platform-tools\adb.exe
Arguments: -s emulator-5554 shell am start -a android.intent.action.MAIN -n MonoAndroidApplication1.MonoAndroidApplication1/monoandroidapplication1.Activity1
Appending Java path: C:\Program Files\Java\jdk1.7.0\bin
[STDOUT] Starting: Intent { act=android.intent.action.MAIN cmp=MonoAndroidApplication1.MonoAndroidApplication1/monoandroidapplication1.Activity1 }
[STDOUT]
[STDOUT] Error type 3
[STDOUT]
[STDOUT] Error: Activity class{MonoAndroidApplication1.MonoAndroidApplication1/monoandroidapplication1.Activity1} does not exist.
[STDOUT]
Ce poste Monodroid raises error est sur la même erreur, mais réinstallant Mono sur l'émulateur ne semble pas travailler pour moi.
Peut-être que monodroid affiche une erreur lorsqu'il rencontre Java7 jusqu'à ce que les problèmes soient résolus. – CodesInChaos
Merci @jpobst! Devrait avoir accordé plus d'attention au guide d'installation (http://android.xamarin.com/Installation/Visual_Studio). Btw, parce que les versions récentes de la pause Android SDK s'il y a des espaces dans l'emplacement d'installation, j'ai également dû copier le contenu de C: \ Program Files (x86) \ MSBuild \ Novell dans un dossier C: \ Android \ Novell et changer C: \ Program Files (x86) \ MSBuild \ Novell \ Novell.MonoDroid.Common.targets en conséquence (tâche ResolveSdks, définissez MonoAndroidFrameworkPath sur une propriété avec Value = "C: \ Android \ Novell"). – Strillo
@CodeInChaos Oui, j'ai fait ce changement plus tôt aujourd'hui, donc vous obtenez un message d'erreur informatif si Java 6 est introuvable. :) – jpobst