Xamarin 云错误

Xamarin Cloud error

我已经测试了 Xamarin Cloud。

当我 运行 在 Visual Studio 测试时。它通过了。

我尝试在 Xamarin 中上传但失败了。

我有这个:

    SetUp : System.Exception : Multiple launchable acitivites configured in apk file, none was specified. Available launchable activities: md5b02f34a74755c1c88b16cc48d7de656d.SplashActivity, com.digitalmakers.murakamikiev.MainActivity

at Xamarin.UITest.Shared.Android.ApkFile.GetActivityToLaunchOrFail (System.String wantedActivity) <0x5aac808 + 0x0023f> in <filename unknown>:0 

at Xamarin.UITest.Android.TestCloudAndroidAppInitializer.VerifyConfiguration () <0x5aac240 + 0x00083> in <filename unknown>:0 

at Xamarin.UITest.Android.AndroidApp..ctor (IAndroidAppConfiguration appConfiguration) <0x5942190 + 0x002a5> in <filename unknown>:0 

at Xamarin.UITest.Configuration.AndroidAppConfigurator.StartApp (AppDataMode appDataMode) <0x59416d0 + 0x00063> in <filename unknown>:0 

at MurakamiKiev.UITests.Tests.SetUp () <0x5940440 + 0x00043> in <filename unknown>:0 

at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)

at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) <0x2ba5b08 + 0x00093> in <filename unknown>:0 

飞溅Activity代码:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Content.PM;
using System.Timers;
using Android.Net;
using System.Xml;
using System.IO;
using Android.Gms.Analytics;
using System.Threading.Tasks;

namespace MurakamiKiev
{
    [Activity(MainLauncher = true, NoHistory = true, Label = "Murakami", Icon = "@drawable/icon2", Theme = "@android:style/Theme.Black.NoTitleBar", ScreenOrientation = ScreenOrientation.Portrait)]
    public class SplashActivity : Activity
    {

        protected async override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Splash);

            // Inshi rolli
            string url = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=82";
            var json = await FetchAsync(url);

            var path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename = System.IO.Path.Combine(path, "cache.txt");
            File.WriteAllText(filename, json);

            // Goryachie rolli
            string url2 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=83";
            var json2 = await FetchAsync2(url2);
            var path2 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename2 = System.IO.Path.Combine(path2, "cache2.txt");
            File.WriteAllText(filename2, json2);

            //Bludo dnya
            string url3 = "http://new.murakami.ua/?mkapi=getProductsOfDay";
            var json3 = await FetchAsync3(url3);
            var path3 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename3 = System.IO.Path.Combine(path3, "cache3.txt");
            File.WriteAllText(filename3, json3);

            // California
            string url4 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=85";
            var json4 = await FetchAsync4(url4);
            var path4 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename4 = System.IO.Path.Combine(path4, "cache4.txt");
            File.WriteAllText(filename4, json4);

            //Deserts
            string url5 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=74";
            var json5 = await FetchAsync5(url5);
            var path5 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename5 = System.IO.Path.Combine(path4, "cache5.txt");
            File.WriteAllText(filename5, json5);


            //Drakoni
            string url6 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=84";
            var json6 = await FetchAsync6(url6);
            var path6 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename6 = System.IO.Path.Combine(path6, "cache6.txt");
            File.WriteAllText(filename6, json6);


            //Filadelfia
            string url7 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=87";
            var json7 = await FetchAsync7(url7);
            var path7 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename7 = System.IO.Path.Combine(path7, "cache7.txt");
            File.WriteAllText(filename7, json7);


            //GoryachieZakuski
            string url8 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=73";
            var json8 = await FetchAsync8(url8);
            var path8 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename8 = System.IO.Path.Combine(path8, "cache8.txt");
            File.WriteAllText(filename8, json8);

            //Lanchi
            string url9 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=182";
            var json9 = await FetchAsync9(url9);
            var path9 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename9 = System.IO.Path.Combine(path9, "cache9.txt");
            File.WriteAllText(filename9, json9);


            //Lapsha
            string url10 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=70";
            var json10 = await FetchAsync10(url10);
            var path10 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename10 = System.IO.Path.Combine(path10, "cache10.txt");
            File.WriteAllText(filename10, json10);

            //Maki
            string url11 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=86";
            var json11 = await FetchAsync11(url11);
            var path11 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename11 = System.IO.Path.Combine(path11, "cache11.txt");
            File.WriteAllText(filename11, json11);

            //Napitki
            string url12 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=79,176";
            var json12 = await FetchAsync12(url12);
            var path12 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename12 = System.IO.Path.Combine(path12, "cache12.txt");
            File.WriteAllText(filename12, json12);


            //OsnovniBluda
            string url13 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=72";
            var json13 = await FetchAsync13(url13);
            var path13 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename13 = System.IO.Path.Combine(path13, "cache13.txt");
            File.WriteAllText(filename13, json13);

            //Salads
            string url14 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=88";
            var json14 = await FetchAsync14(url14);
            var path14 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename14 = System.IO.Path.Combine(path14, "cache14.txt");
            File.WriteAllText(filename14, json14);


            //Sashimi
            string url15 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=89";
            var json15 = await FetchAsync15(url15);
            var path15 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename15 = System.IO.Path.Combine(path15, "cache15.txt");
            File.WriteAllText(filename15, json15);

            //Sets
            string url16 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=77";
            var json16 = await FetchAsync16(url16);
            var path16 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename16 = System.IO.Path.Combine(path16, "cache16.txt");
            File.WriteAllText(filename16, json16);

            //Souces
            string url17 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=90";
            var json17 = await FetchAsync17(url17);
            var path17 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename17 = System.IO.Path.Combine(path17, "cache17.txt");
            File.WriteAllText(filename17, json17);

            //Soupes
            string url18 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=91";
            var json18 = await FetchAsync18(url18);
            var path18 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename18 = System.IO.Path.Combine(path18, "cache18.txt");
            File.WriteAllText(filename18, json18);


            //Sushi
            string url19 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=92";
            var json19 = await FetchAsync19(url19);
            var path19 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename19 = System.IO.Path.Combine(path19, "cache19.txt");
            File.WriteAllText(filename19, json19);


            //Tepan
            string url20 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=95";
            var json20 = await FetchAsync20(url20);
            var path20 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename20 = System.IO.Path.Combine(path20, "cache20.txt");
            File.WriteAllText(filename20, json20);


            //Zakuski
            string url21 = "http://papajohn.pp.ua/?mkapi=getProductsByCat&cat_id=75";
            var json21 = await FetchAsync21(url21);
            var path21 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename21 = System.IO.Path.Combine(path21, "cache21.txt");
            File.WriteAllText(filename21, json21);


            //Akcii
            string url22 = "http://new.murakami.ua/?mkapi=getActions";
            var json22 = await FetchAsync22(url22);
            var path22 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename22 = System.IO.Path.Combine(path22, "cache22.txt");
            File.WriteAllText(filename22, json22);

            //News
            string url23 = "http://new.murakami.ua/?mkapi=getNews";
            var json23 = await FetchAsync23(url23);
            var path23 = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
            var filename23 = System.IO.Path.Combine(path23, "cache23.txt");
            File.WriteAllText(filename23, json23);



            XmlDocument doc = new XmlDocument();
            XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Order"));
            el.SetAttribute("CallConfirm", "1");
            el.SetAttribute("PayMethod", "");
            el.SetAttribute("QtyPerson", "");
            el.SetAttribute("Type", "1");
            el.SetAttribute("PayStateID", "0");
            el.SetAttribute("Remark", "{StreetName} , ..");
            el.SetAttribute("RemarkMoney", "0");
            el.SetAttribute("TimePlan", "");
            el.SetAttribute("Brand", "1");
            el.SetAttribute("DiscountPercent", "0");
            el.SetAttribute("BonusAmount", "0");
            el.SetAttribute("Department", "");

            XmlElement el2 = (XmlElement)el.AppendChild(doc.CreateElement("Customer"));

            el2.SetAttribute("Login", "");
            el2.SetAttribute("FIO", "{FIO}");

            XmlElement el3 = (XmlElement)el.AppendChild(doc.CreateElement("Address"));

            el3.SetAttribute("CityName", "");
            el3.SetAttribute("StationName", "");
            el3.SetAttribute("StreetName", "{StreetName}");
            el3.SetAttribute("House", "{HouseName}");
            el3.SetAttribute("Corpus", "");
            el3.SetAttribute("Building", "");
            el3.SetAttribute("Flat", "{FlatName}");
            el3.SetAttribute("Porch", "");
            el3.SetAttribute("Floor", "");
            el3.SetAttribute("DoorCode", "");

            XmlElement el4 = (XmlElement)el.AppendChild(doc.CreateElement("Phone"));

            el4.SetAttribute("Code", "{Code}");
            el4.SetAttribute("Number", "{Phone}");

            XmlElement el5 = (XmlElement)el.AppendChild(doc.CreateElement("Products"));


            Console.WriteLine("TUT");
            var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            var filePath = Path.Combine(documentsPath, "myFile.xml");
            //File.WriteAllText(filePath, doc.OuterXml);
            doc.Save(filePath);
            Console.WriteLine(doc.OuterXml);
            //esli chto ubrat


            Timer timer = new Timer();
            timer.Interval = 3000; // 3 sec.
            timer.AutoReset = false; // Do not reset the timer after it's elapsed
            timer.Elapsed += (object sender, ElapsedEventArgs e) =>
            {
                StartActivity(typeof(MenuTopActivity));
            };
            timer.Start();
        }

        // Zagruzka async metod
        public async Task<string> FetchAsync(string url)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        // Zagruzka async metod 2
        public async Task<string> FetchAsync2(string url2)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url2);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync3(string url3)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url3);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync4(string url4)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url4);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync5(string url5)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url5);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync6(string url6)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url6);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync7(string url7)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url7);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync8(string url8)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url8);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync9(string url9)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url9);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync10(string url10)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url10);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync11(string url11)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url11);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync12(string url12)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url12);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync13(string url13)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url13);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync14(string url14)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url14);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync15(string url15)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url15);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync16(string url16)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url16);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync17(string url17)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url17);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync18(string url18)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url18);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync19(string url19)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url19);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync20(string url20)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url20);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }
        public async Task<string> FetchAsync21(string url21)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url21);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }


        public async Task<string> FetchAsync22(string url22)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url22);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }

        public async Task<string> FetchAsync23(string url23)
        {
            string jsonString;

            using (var httpClient = new System.Net.Http.HttpClient())
            {
                var stream = await httpClient.GetStreamAsync(url23);
                StreamReader reader = new StreamReader(stream);
                jsonString = reader.ReadToEnd();
            }

            return jsonString;
        }

    };
    [Activity(Label = "SushiActivity", Theme = "@android:style/Theme.Black.NoTitleBar", ScreenOrientation = ScreenOrientation.Portrait)]
    public class MenuTopActivity : Activity
    {



        // Integrating Google Analitycs - start
        public class GAService
        {
            public string TrackingId = "UA-65673888-2";

            private static GoogleAnalytics GAInstance;
            private static Tracker GATracker;

            #region Instantiation ...
            private static GAService thisRef;
            private GAService()
            {
                // no code req'd
            }

            public static GAService GetGASInstance()
            {
                if (thisRef == null)
                    // it's ok, we can call this constructor
                    thisRef = new GAService();
                return thisRef;
            }
            #endregion

            public void Initialize(Context AppContext)
            {
                GAInstance = GoogleAnalytics.GetInstance(AppContext.ApplicationContext);
                GAInstance.SetLocalDispatchPeriod(10);

                GATracker = GAInstance.NewTracker(TrackingId);
                GATracker.EnableExceptionReporting(true);
                GATracker.EnableAdvertisingIdCollection(true);
                GATracker.EnableAutoActivityTracking(true);
            }
        }
        // end of integrating Analitycs

        protected override void OnCreate(Bundle bundle)
        {
            CheckNetwork();
            base.OnCreate(bundle);


            // Create your application here
            SetContentView(Resource.Layout.MenuTop);
            GAService.GetGASInstance().Initialize(this);


            ImageButton cart = FindViewById<ImageButton>(Resource.Id.cartButton);
            ImageButton menu = FindViewById<ImageButton>(Resource.Id.menuButton);
            ImageButton logo = FindViewById<ImageButton>(Resource.Id.logoButton);
            Button promurakami = FindViewById<Button>(Resource.Id.promurakamiButton);
            Button restaraunts = FindViewById<Button>(Resource.Id.restorauntsButton);
            Button akcii = FindViewById<Button>(Resource.Id.AkciiButton);
            Button novini = FindViewById<Button>(Resource.Id.novinibutton);
            Button dostavka = FindViewById<Button>(Resource.Id.dostavkaButton);
            Button bludo = FindViewById<Button>(Resource.Id.bludodnya);
            ImageButton vk = FindViewById<ImageButton>(Resource.Id.vkbutton);
            ImageButton facebook = FindViewById<ImageButton>(Resource.Id.facebookbutton);
            ImageButton instagram = FindViewById<ImageButton>(Resource.Id.instagrambutton);
            ImageButton twitter = FindViewById<ImageButton>(Resource.Id.twitterbutton);
            TextView call = FindViewById<TextView>(Resource.Id.telephone);

             }
}

没看懂,哪里错了?

谁能帮帮我?

错误消息表明 SplashActivity 和 MainActivity 都被标记为 MainLauncher 属性设置为 true 的主要活动。

当您 运行 使用 Visual Studio 进行测试时,您的 Android 应用程序由 Visual Studio 启动,并且 Android 本身将选择一项主要活动至 运行.

UITest 似乎试图只找到一个主 activity 但失败了,因为它找到了两个但不知道应该是哪个 运行ning。

所以我猜想,如果您使用 SplashActivity 作为第一个屏幕,然后使用 SplashActivity 启动您的 MainActivity,那么您应该从 MainActivity 中删除 MainLauncher = true,这样 UITest 只会找到一个主要的 [=23] =].