[英]Exception when starting android xamarin forms app
I got the following exception within Xamarin in VS 2017 when I change the build configuration from Debug to Release : 当我将构建配置从Debug更改为Release时,在VS 2017中的Xamarin中出现以下异常:
07-07 14:34:49.820 D/AccessibilityManager(10619): setStateLocked: wasEnabled = false, mIsEnabled = false, wasTouchExplorationEnabled = false, mIsTouchExplorationEnabled = false, wasHighTextContrastEnabled = false, mIsHighTextContrastEnabled = false
07-07 14:34:49.820 D/AccessibilityManager(10619): java.lang.Throwable: setStateLocked
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.accessibility.AccessibilityManager.setStateLocked(AccessibilityManager.java:553)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.accessibility.AccessibilityManager.tryConnectToServiceLocked(AccessibilityManager.java:636)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.accessibility.AccessibilityManager.<init>(AccessibilityManager.java:226)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.accessibility.AccessibilityManager.getInstance(AccessibilityManager.java:206)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.View.setFlags(View.java:9843)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.ViewGroup.initViewGroup(ViewGroup.java:536)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.ViewGroup.<init>(ViewGroup.java:525)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.ViewGroup.<init>(ViewGroup.java:520)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:200)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
07-07 14:34:49.820 D/AccessibilityManager(10619): at java.lang.reflect.Constructor.newInstance(Native Method)
07-07 14:34:49.820 D/AccessibilityManager(10619): at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.LayoutInflater.createView(LayoutInflater.java:607)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
07-07 14:34:49.820 D/AccessibilityManager(10619): at md5fcb90111a512f6bdf8650a2bd92e7238.MainActivity.n_onCreate(Native Method)
07-07 14:34:49.820 D/AccessibilityManager(10619): at md5fcb90111a512f6bdf8650a2bd92e7238.MainActivity.onCreate(MainActivity.java:31)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.Activity.performCreate(Activity.java:6092)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.ActivityThread.access$800(ActivityThread.java:178)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.os.Handler.dispatchMessage(Handler.java:111)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.os.Looper.loop(Looper.java:194)
07-07 14:34:49.820 D/AccessibilityManager(10619): at android.app.ActivityThread.main(ActivityThread.java:5631)
07-07 14:34:49.820 D/AccessibilityManager(10619): at java.lang.reflect.Method.invoke(Native Method)
07-07 14:34:49.820 D/AccessibilityManager(10619): at java.lang.reflect.Method.invoke(Method.java:372)
07-07 14:34:49.820 D/AccessibilityManager(10619): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
07-07 14:34:49.820 D/AccessibilityManager(10619): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
07-07 14:34:49.831 W/art (10619): Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
All I see from my app is a white screen. 我从应用程序中看到的只是一个白屏。 And as soon as I change the configuration back to Debug everything is working fine. 一旦我将配置更改回Debug,一切都将正常工作。
Some days ago before I have changed quite a lot on the GUI, everything was working fine. 几天前,在我对GUI进行了很多更改之前,一切正常。 The problem is that I have no idea what the exception message is meaning. 问题是我不知道异常消息的含义。 What is StateLocked? 什么是StateLock?
As proposed from a comment I add below some more parts of my code: 根据评论的建议,我在代码的下面添加了更多部分:
MainActivity.cs: MainActivity.cs:
[Activity(Label = "enio.TrackR", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
protected override void OnStart()
{
base.OnStart();
StartService(new Intent(this, typeof(LocationService)));
}
}
I believe you need to change 我相信你需要改变
StartService(new Intent(this, typeof(LocationService)));
To 至
Intent serviceIntent = new Intent(this, typeof(LocationActivity));
context.StartActivity(serviceIntent);
Someone gave me the advice to change the linking option in the Android project properties from "Sdk and User Assemblies" to "Sdk Assemblies Only". 有人给我建议,将Android项目属性中的链接选项从“ Sdk和用户程序集”更改为“仅Sdk程序集”。 This solved the issue and I could start and deploy the app to the playstore. 这解决了问题,我可以启动并将应用程序部署到Playstore。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.