ionic7 使用Capacitor打包 apk 之后,设置网络权限

报错处理

在打包的时候遇到过几个问题,这里记录下来两个
Visual Studio Code运行ionic build出错显示ionic : 无法加载文件
ionic 项目通过 android studio 打开报错 capacitor.settings.gradle 文件不存在

ionic7 项目初始化以及打包 apk

这篇文章讲到了如果安装 ionic 以及通过 capacitor 最后打包为 apk : ionic7 从安装 到 项目启动最后打包成 apk

设置网络权限

如果不设置网络权限,我们打包的项目是无法进行网络请求的。那么我们现在看下怎么设置网络权限吧。

新增网络权限文件

新建 network_security_config.xml 文件,具体路径如下:
新建文件

内容:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted="true" />
</network-security-config>

AndroidMainifest.xml 中设置

新增完了 network_security_config.xml 文件之后,需要在 AndroidMainifest.xml 中增加配置:
AndroidMainifest
内容如下:

android:networkSecurityConfig="@xml/network_security_config"

测试

这里我提供一个用于测试使用的 http 请求地址,方便与测试

https://jsonplaceholder.typicode.com/photos/5

测试调用

test() {this.apiService.testData().subscribe((body) => {this.msg.infoToast('获取testData的返回值:' + body);console.log(body);this.msg.infoToast(JSON.stringify(body));});}

用于的 http 请求代码

import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { catchError } from 'rxjs/operators';export enum RequestMethod {GET = 'GET',HEAD = 'HEAD',Post = 'POST',PUT = 'PUT',DELETE = 'DELETE',OPTIONS = 'OPTIONS',PATCH = 'PATCH',
}@Injectable()
export class ApiService {headers = new HttpHeaders({accept: 'application/json','Content-type': 'application/json;charset=UTF-8',});constructor(private http: HttpClient,) {}testData(): Observable<Object> {return this.http.get('https://jsonplaceholder.typicode.com/photos/5');}/*** get 方法* @param path 调用地址* @param args 传入参数*/get(path: string, args?: any): Observable<any> {const options = { headers: this.headers, withCredentials: true };if (args) {options['params'] = this.serialize(args);}return this.http.get(path, options).pipe(catchError(this.checkError.bind(this)));}/*** 报错检查* @param error* @returns {any}*/private checkError(error: any): any {if (error && error.status === 401) {console.log(`401${error}`);} else {console.log(error);}throw error;}// 将数据转换为 httpParamsprivate serialize(obj: any): HttpParams {let params = new HttpParams();for (const key in obj) {if (obj.hasOwnProperty(key)) {params = params.set(key, obj[key]);}}return params;}}

真机上面测试

测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/41791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2-25 基于matlab的语音信号降噪处理算法

基于matlab的语音信号降噪处理算法&#xff0c;采用谱减法&#xff0c;可以对强噪声背景下的语音信号进行去噪。输入原始信号及加噪信号&#xff0c;对加噪信号进行降噪&#xff0c;并提高信噪比。程序已调通&#xff0c;可直接运行。 2-25 语音信号降噪处理算法 谱减法 - 小红…

餐饮管理系统-计算机毕业设计源码43667

餐饮管理系统 摘 要 在信息化、数字化的时代背景下&#xff0c;餐饮行业面临着前所未有的挑战与机遇。为了提高运营效率、优化顾客体验&#xff0c;餐饮企业亟需一套高效、稳定且灵活的管理系统来支撑其日常运营。基于Spring Boot的餐饮管理系统应运而生&#xff0c;成为餐饮行…

mac 安装nvm的教程

在macOS上切换Node.js版本&#xff0c;可以使用nvm&#xff08;Node Version Manager&#xff09;。以下是安装nvm和切换Node.js版本的步骤&#xff1a; 安装nvm 下载方式 终端复制输入&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.…

教育科研行业算力池化解决方案

教育科研行业算力池化解决方案 解决方案概述 1. 算力资源集中管理 建立校级算力中心:通过信息中心建设校级的算力中心,将分散在各学院或科研团队的算力资源集中管理。利用算力池化技术:采用先进的算力池化技术(如趋动科技的OrionX),将物理GPU资源切分为多个虚拟GPU(vGP…

GIT - 一条命令把项目更新到远程仓库

前言 阅读本文大概需要1分钟 说明 更新项目到远程仓库只需要执行一条命令&#xff0c;相当的简便 步骤 第一步 编辑配置文件 vim ~/.bash_profile第二步 写入配置文件 gsh() {local msg"${1:-ADD COMMIT PUSH}"git add . && git commit -m "$m…

mipi协议中的calibration和scramble模式

在MIPI(Mobile Industry Processor Interface)协议中,calibration(校准)和scramble(加扰)模式是两个重要的特性,它们分别用于优化数据传输的准确性和减少信号干扰。以下是对这两个模式的详细解析: Calibration(校准)模式 目的与功能: 校准模式主要用于优化和补偿由…

数据库关键字执行顺序

在 SQL 中&#xff0c;关键字的执行顺序通常如下&#xff1a; FROM&#xff1a;确定要查询的表或数据源&#xff0c;并执行表之间的连接操作&#xff08;如 INNER JOIN、LEFT JOIN 等&#xff09;。FROM 子句执行顺序为从后往前、从右到左。ON&#xff1a;应用连接条件&#xf…

C生万物之文件操作

文章目录 一、为什么使用文件&#xff1f;二、什么是文件&#xff1f;1、程序文件2、数据文件3、文件名 三、文件的打开和关闭1、文件指针2、文件的打开和关闭 四、文件的顺序读写1. 8个重要的库函数1.1 单字符输入输出【fputc和fgetc】1.2 文本行输入输出【fputs和fgets】1.3 …

主干网络篇 | YOLOv5/v7 更换主干网络之 ShuffleNetv2 | 高效CNN架构设计的实用指南(2)

主干网络篇 | YOLOv5/v7 更换主干网络之 ShuffleNetv2 | 高效CNN架构设计的实用指南 概述 YOLOv5和YOLOv7是目前主流的轻量级目标检测模型&#xff0c;在速度和精度方面取得了良好的平衡。然而&#xff0c;传统的YOLOv5/v7模型使用FPN和CSPNet等结构作为主干网络&#xff0c;…

机器学习 C++ 的opencv实现SVM图像二分类的测试 (三)【附源码】

机器学习 C 的opencv实现SVM图像二分类的测试 (三) 数据集合下载地址&#xff1a;https://download.csdn.net/download/hgaohr1021/89506900 根据上节得到的svm.xml&#xff0c;测试结果为&#xff1a; #include <stdio.h> #include <time.h> #include <o…

网络安全应急处理流程

网络安全应急处理流程是指在发生网络安全事件时&#xff0c;组织应采取的一系列措施&#xff0c;以快速响应、控制、恢复和调查网络安全事件&#xff0c;确保业务连续性和数据安全。以下是一个详细的网络安全应急处理流程&#xff1a; 1. 准备阶段 目标&#xff1a;建立和维护…

yolov5 json 和 txt数据格式关系

训练阶段 和 推理阶段数据格式转换说明 关于yolov5 数据格式一直以来都傻傻分不清楚&#xff0c;这下进行了一个梳理&#xff0c;做了笔记&#xff0c;也希望可帮助到有需要的有缘人~ 转换部分代码

大厂面试官赞不绝口的后端技术亮点【后端项目亮点合集(2):消息队列、ElasticSearch、Mysql等亮点合集】

本文将持续更新~~ 历史文章&#xff1a; 后端项目亮点合集&#xff08;1&#xff09;&#xff1a;Redis篇_后端项目有什么亮点-CSDN博客 本文的作用&#xff1a; &#xff08;1&#xff09;简历优化&#xff1a;针对自己的简历&#xff0c;对Redis亮点进行优化升级&#xff0c;…

虚拟机交叉编译基于ARM平台的opencv(ffmpeg/x264)

背景&#xff1a; 由于手上有一块rk3568的开发板&#xff0c;需要运行yolov5跑深度学习模型&#xff0c;但是原有的opencv不能对x264格式的视频进行解码&#xff0c;这里就需要将ffmpegx264编译进opencv。 但是开发板算力有限&#xff0c;所以这里采用在windows下&#xff0c;安…

【chatgpt】 PyTorch中reshape和view

在 PyTorch 中&#xff0c;reshape 和 view 都用于改变张量的形状&#xff0c;但它们在实现和使用上有一些重要的区别。理解这些区别对于在复杂的张量操作中选择合适的方法非常关键。 view 方法 连续性要求&#xff1a;view 方法要求原始张量在内存中是连续的。如果张量不是连…

从零开始实践大模型 - 配置环境

本文地址&#xff1a;blog.lucien.ink/archives/549 本文将介绍在面向深度学习时&#xff0c;推荐的环境配置以及一些使用 Linux 的习惯。 本文的部分内容与 Debian 下 CUDA 生产环境配置笔记 有所重叠&#xff0c;但也有些许的不一样&#xff0c;在正文中不额外注明。 前言 本…

绝缘子陶瓷绝缘子玻色绝缘子聚合物绝缘子检测数据集VOC+YOLO格式2050张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2050 标注数量(xml文件个数)&#xff1a;2050 标注数量(txt文件个数)&#xff1a;2050 标注…

Debezium系列之:支持在一个数据库connector采集中过滤某些表的删除事件

Debezium系列之:支持在一个数据库connector采集中过滤某些表的删除事件 一、需求二、相关技术三、参数设置四、消费数据一、需求 在一个数据库的connector中采集了多张表,部分表存在数据归档的业务场景,会定期从表中删除历史数据,希望能过滤掉存在数据归档这些表的删除事件…

Ubuntu 22.04远程自动登录桌面环境

如果需要远程自动登录桌面环境&#xff0c;首先需要将Ubuntu的自动登录打开&#xff0c;在【settings】-【user】下面 然后要设置【Sharing】进行桌面共享&#xff0c;Ubuntu有自带的桌面共享功能&#xff0c;不需要另外去安装xrdp或者vnc之类的工具了 点开【Remote Desktop】…

Orangepi配合IIC驱动OLED屏幕

目录 一、OLED屏幕 二、Orangepi的IIC接口及OLED屏幕硬件接线 2.1 Orangepi的IIC接口&#xff1a; 2.2 Orangepi与OLED屏幕硬件接线&#xff1a; 三、wiringPi库示例代码 3.1 wiringPi库OLED屏幕示例代码&#xff1a; 3.2 OLED显示自己想要的字符&#xff1a; 一、OLED屏…