【问题标题】:Exception when starting android xamarin forms app启动android xamarin表单应用程序时出现异常
【发布时间】:2017-07-11 17:45:45
【问题描述】:

当我将构建配置从 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

我从我的应用程序中看到的只是一个白屏。一旦我将配置改回调试,一切正常。

几天前,在我对 GUI 进行了很多更改之前,一切正常。问题是我不知道异常消息是什么意思。什么是 StateLocked?

根据评论的建议,我在我的代码的更多部分下面添加:

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)));

    }
}

【问题讨论】:

  • 这些可能是由不正确的意图引发的,或者其中一个活动没有正确停止的问题,我认为我们可能需要查看一些代码来帮助您查明问题。跨度>
  • 你知道我应该在这里发布什么代码吗?应该是主窗口 xaml、AndroidManifest 还是其他?
  • 我认为 'MainActivity' 'OnCreate' 方法是一个很好的起点。
  • @Digitalsa1nt 请查看已编辑的问题 - 我已附上 MainActivity.cs

标签: android xamarin xamarin.android xamarin.forms


【解决方案1】:

我相信你需要改变

StartService(new Intent(this, typeof(LocationService)));

Intent serviceIntent = new Intent(this, typeof(LocationActivity));
context.StartActivity(serviceIntent);

【讨论】:

  • 感谢您的建议 - 不幸的是,它在发布配置中仍然显示相同的异常。
【解决方案2】:

有人建议我将 Android 项目属性中的链接选项从“Sdk 和用户程序集”更改为“仅 Sdk 程序集”。这解决了问题,我可以启动应用程序并将其部署到 Playstore。

【讨论】:

    猜你喜欢
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    相关资源
    最近更新 更多