当前位置: 首页 > 知识库问答 >
问题:

为什么飞行前会在较新的Android设备上失败,而在较旧的设备和桌面上不会?

轩辕炎彬
2023-03-14
  • 我正在使用axios软件包将API请求从我的应用程序发送到我的后端
  • 后端使用Laravel构建,是一个简单的rest API
  • 如果我使用爱奥尼亚服务在桌面上运行爱奥尼亚应用程序,它工作正常
  • 如果我构建APK并安装应用程序:
    • 在版本8或更低的Android设备上,它工作正常
    • 在版本为9或以上的Android设备上,飞行前检查一直失败

    (这是通过Chrome使用远程设备功能来检查应用程序的请求)

    • 最初,请求甚至不会发送,在此之前会出错,因此我为Android设置了网络安全配置,删除了最初的错误,但现在它在飞行前一直失败
    • 我怀疑这可能与应用程序上的请求是从http://localhost但我不确定如何解决这个问题。你能强迫它使用SSL吗?如果是,怎么做
    • Laravel的我的CORS设置比Laravel附带的默认CORS配置更加出色:
    return [
        'paths' => ['*'],
        'allowed_methods' => ['*'],
        'allowed_origins' => ['*'],
        'allowed_origins_patterns' => [],
        'allowed_headers' => ['*'],
        'exposed_headers' => [],
        'max_age' => 0,
        'supports_credentials' => false,
    ];
    

共有1个答案

柴飞星
2023-03-14

该问题与SSL/TLS固定有关,根据该评论,axios没有处理该问题。

Ionic Native HTTP插件以本机方式处理固定,这一点很有效,但它当然利用了Cordova,这在您的非移动设备上是不可用的。

有两种可能的解决办法:

  1. 本机实现SSL/TLS固定
  2. 创建一个服务/工厂,确定我们是要使用axios还是本机插件

我选择了#2-如果您想要有关#1的信息,请参阅此答案。

以下方法确定要使用的HTTP包装器:

static makeRequest() {
    return isPlatform('cordova') ? cordovaHttpService : axiosHttpService;
}

当然,这可以根据具体情况进行修改。

 类似资料:
  • 我正在尝试在我的项目中使用材料设计,但我没有找到一种方法来导入它。我花了很多时间在互联网和stackoverflow中尝试用户的建议,但无论我尝试什么都不起作用。 我在Mac OSX 10.10上使用Android Studio 0.8.14。使用gradle 13.2和JDK jdk1.8.0_25.JDK。从图片中可以看到,我的android SDK是最新的 这是我的卷轴 有人能帮我吗?我做错

  • 我运行的是Android Studio版本 Android Studio大黄蜂2021.1.1金丝雀11和Android Studio北极狐2020.3.1补丁2 在我的Mac M1上。在这两个版本中,当我试图在设备上调试时, 我试过了 无效并重新启动 重新启动了我的计算机, 重新启动设备 重新启动ADB服务器。 但仍然有同样的问题。 你知道这里发生了什么吗?

  • 问题内容: 使用chromedriver让Win Jenkins奴隶还可以吗? 我的测试从Maven存储库中提取chromedriver和便携式chrome,然后执行它们。在本地以及当构建用户在构建系统上执行相同操作时,工作正常。 当jenkins做同样的事情时,即使在前台运行(不是svc),它也会失败,并显示以下错误。我尝试传递参数以提高详细程度无济于事。 org.openqa.selenium

  • 这是我的execute方法的代码

  • 问题内容: 我将使用sqlite编写示例代码,该代码必须同时适用于ANdroid和IOS(和桌面) 这是我的 build.gradle sqliteHelper.java 该功能适用​​于Ipad设备和台式机,但不适用于Android设备(如Samsung Tablet)。 谁能告诉我为什么上面的代码在三星平板电脑上不起作用?还是取决于我必须在我的代码中添加? 感谢Erkan Kaplan 问题答

  • 代码: 这就是我初始化相机的方式。 I',试图获得设备的分辨率,并在此基础上设置相机的宽度和高度。 问题是。 我认为精灵不会在更高分辨率的设备上缩放。 根据我的知识和引擎本机缩放相机和精灵。 那么为什么精灵在这种情况下不会被缩放呢? 我应该如何根据分辨率放大精灵? 我也试过FillResolutionPolicy。同样的事情。 我用的是TexturePackerExtension of anden