为了账号安全,请及时绑定邮箱和手机立即绑定

尽管调试模式有效,但 Xamarin 发布模式失败

尽管调试模式有效,但 Xamarin 发布模式失败

C#
忽然笑 2022-12-24 09:59:07
我的 Xamarin 跨平台应用程序在调试模式 (Android) 下运行良好,但是当我更改为发布时,它会抛出异常。我已经搜索过以纠正这种情况。大多数帖子显示android.permission.INTERNET需要在 AndroidManifest.xml 文件中添加。但这对我的问题不起作用。另外,无论 Linker 是 Sdk Assembly only 还是发布模式下的 None,它仍然不起作用。(我的应用程序基于 Android Pie 9.0 构建)和例外:Unhandled Exception:04-21 22:37:08.972 E/mono    ( 5319): System.NullReferenceException: Object reference not set to an instance of an object.04-21 22:37:08.972 E/mono    ( 5319):   at .Views.LoginPage+<SigninProcedure>d__2.MoveNext () [0x001d6] in LoginPage.xaml.cs:56 04-21 22:37:08.972 E/mono    ( 5319): --- End of stack trace from previous location where exception was thrown ---04-21 22:37:08.972 E/mono    ( 5319):   at (wrapper dynamic-method) System.Object.31(intptr,intptr)04-21 22:37:08.972 E/mono    ( 5319):   at (wrapper native-to-managed) System.Object.31(intptr,intptr)04-21 22:37:08.973 E/mono-rt ( 5319): [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object.04-21 22:37:08.973 E/mono-rt ( 5319):   at Views.LoginPage+<SigninProcedure>d__2.MoveNext () [0x001d6] in LoginPage.xaml.cs:56 <uses-permission android:name="android.permission.INTERNET" />下面是我抛出异常时的代码:public async Task<List<User>> FindExistUserAsync(string weburl, string username){    string url = weburl + username;    try    {        var response = await client.GetAsync(url);// throw exception after run this line.        if (response.StatusCode == System.Net.HttpStatusCode.OK)        {            var JsonResult = response.Content.ReadAsStringAsync().Result;            try            {                //Debug.WriteLine(JsonResult);                var contentResp = JsonConvert.DeserializeObject<List<User>>(JsonResult);                return contentResp;            }            catch (Exception ex) { Debug.WriteLine(ex.Message); return null; }        }    }    catch (Exception ex) { Debug.WriteLine(ex.Message); return null; }    return null;}
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

我解决了那个问题。我在这里找到它:Android 8: Cleartext HTTP traffic not permitted。从 Android 9.0(API 级别 28)开始,默认禁用明文支持。因此,当我尝试连接 Web 服务时它抛出异常。



查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号