flutter 环境搭建异常记录

news2024/12/23 18:34:00

flutter 环境搭建异常记录

1.执行flutter doctor自检报错

排查Android studio里配置的sdk是哪个

SDK Platforms选中 8.0

SDkTools也只勾选8.0

2.bash_profile 文件配置

没有的话 在根目录新建

export PUB_HOSTED_URL=https://pub.flutter-io.cn

export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

export PATH=~/development/flutter/bin:$PATH

export PATH=~/development/flutter/bin/cache/dart-sdk/bin:$PATH

export  ANDROID_HOME=~/Library/Android/sdk

export  PATH=${PATH}:${ANDROID_HOME}/emulator

export  PATH=${PATH}:${ANDROID_HOME}/tools

export  PATH=${PATH}:${ANDROID_HOME}/platform-tools

3.全局命令行配置及生效

source ~/.bash_profile

source ~/.zshrc

open ~/.bash_profile

open ~/.zshrc

4.安卓本地的gradle版本存放位置

/Users/zhaoguangliang/.gradle/wrapper/dists

若自动下载太慢 可以使用迅雷手动下载之后放在这里

5.配置 firebase的时候  提示找不到成员变量

需在添加的firebase_core之外 在yaml文件里新增加一个依赖

firebase_core_platform_interface: 4.5.1

然后在android的工程中进行编译  就可以通过了

6.在新电脑上配置Android studio jdk路径位置

/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

从Mac 复制jdk文件夹到对应的文件夹下

7.在安卓项目出现gradle sync faile的时候  在android sdk 里 第一个列表里的sdk都拉下来,在第二个列表里的commond Line里将第一个最新的编译工具也拉下来

8.报错 Cannot operate on packages inside the cache.

执行 flutter pub cache repair

9.Pod 更新本地仓库

pod install  换成pod install --verbose --no-repo-update这个命令,前面的命令被墙了 ,

pod update 同理

该命令只安装新添加的库,已更新的库忽略

10.上传谷歌商店,打包禁用debug模式,

<!--        android:debuggable="false"-->

放在这里 mainfest文件里

<application

     android:label="jetsenshot"

     android:name="${applicationName}"

     android:icon="@mipmap/ic_launcher"

<!--        android:debuggable="false"-->

    >

11.将flutter 项目从电脑A复制到电脑B,后行flutter 清理一下缓存,或者不复制项目文件夹下的build文件夹,只复制其余代码,然后在flutter项目中全局替换

  /A用户名/ -> /B用户名/

12.自动配置firebase cli太慢 手动下载

然后执行 chmod +x 文件名  将文件改为可执行的二进制文件

然后将文件放在

/usr/local/bin

路径下  文件名改为firebase

然后在.bash_profile 和 .zshrc文件里增加

export PATH=$PATH:~/opt/bin

然后

执行

source ~/.bash_profile

source ~/.zshrc

然后就可以使用了

13验证app是否签名

Cd /Users/zhao/Library/Android/sdk/build-tools/33.0.0

验证签名 执行jarsigner -verify -verbose -certs <你的APK文件路径>

查看签名信息 keytool -printcert -jarfile <你的APK文件路径>

14.集成Facebook登录 提示

错误提示:

Invalid key hash. The key hash xxxxxxxx does not match any stored key hashes. Configure your app key hashes at https://developers.facebook.com/apps/xxxxx

原因是签名不对,进行如下操作

生成发布密钥散列

Android 应用必须先使用发布密钥进行电子签名,然后才能上传到商店中。如要生成发布密钥散列,请在 Mac 或 Windows 内运行以下命令,并替换您的发布密钥别名和密钥库路径

YOUR_RELEASE_KEY_ALIAS 替换为当前别名

YOUR_RELEASE_KEY_PATH 替换为当前key的路径

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

然后替换掉Facebook里的

集成Facebook登录可以参考的博客

flutter 集成facebook第三方登录完整流程_flutter face登录-CSDN博客

15.授权登录提示 invalid scop:email 添加下面的东西

针对应用程序Android API 30+(Android 11+)不能调用Facebook原生应用程序。请按照https://developers.facebook.com/docs/android/troubleshooting/#faq_267321845055988调整。要解决这个问题,必须在AndroidManifest.xml文件中添加:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>

原文链接:flutter 集成facebook第三方登录完整流程_flutter face登录-CSDN博客

16 flutter 配置apple账号登录

Flutter如何集成apple、google登陆---超级完整步骤_前端知识库

17.xcode 15 运行模拟器异常

报错

Sandbox: rsync(80361) deny(1) file-write-create

检查:

Check that ENABLE_USER_SCRIPT_SANDBOXING is disabled in the project's build settings.

18 flutter打出来的包在debug 和release模式下 部分结构不显示  经排查是

screenutil 没有在当前页面使用前执行初始化,

执行

ScreenUtil.init(context, designSize: Size(393, 862), allowFontScaling: false);

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

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

相关文章

用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 论文阅读

论文链接&#xff1a;https://arxiv.org/pdf/2401.06305.pdf 论文题目&#xff1a;用于自动驾驶最优间距选择和速度规划的多配置二次规划&#xff08;MPQP&#xff09; 1 摘要 本文介绍了用于自动驾驶最优间距选择和速度规划的多配置二次规划&#xff08;MPQP&#xff09;。…

Spring MVC——Spring MVC(3)

1.拦截器 1.1.什么是拦截器&#xff1f; ​ Spring MVC中的拦截器&#xff08;Interceptor&#xff09;类似于Servlet中的过滤器&#xff08;Filter&#xff09;&#xff0c;它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、判断用户是否登录等。 ​…

[二]rtmp服务器搭建

[二]rtmp服务器搭建 一.测试二.使用Nginx搭建自己的rtmp服务器1.nginx是什么&#xff1f;2.环境准备 三、搭建过程1.安装编译 nginx 所需要的库2.下载 nginx-1.21.6.tar.gz3.下载 nginx-rtmp-module 4.解压5.编译6.启动nginx&#xff0c;检测nginx是否能成功运行7.配置nginx使用…

k8s---ingress对外服务(traefik)

目录 ingress的证书访问 traefik traefik的部署方式&#xff1a; deamonset deployment nginx-ingress与traefix-ingress相比较 nginx-ingress-controller ui访问 deployment部署 ingress的证书访问 ingress实现https代理访问: 需要证书和密钥 创建证书 密钥 secre…

漏洞扫描的原理是什么,分为几个阶段进行

网络漏洞扫描主要通过扫描已知的网络缺陷、不正确的网络设置和过时的网络应用版本来检测漏洞。漏洞扫描主要分为哪三个阶段&#xff1f;对于企业来说&#xff0c;创建持续监控容器并查找安全漏洞的服务。 漏洞扫描的原理 一、信息收集 漏洞扫描器首先会收集目标系统的相关信息…

CMU15-445-Spring-2023-分布式DBMS初探(lec21-24)

Lecture #21_ Introduction to Distributed Databases Distributed DBMSs 分布式 DBMS 将单个逻辑数据库划分为多个物理资源。应用程序&#xff08;通常&#xff09;并不知道数据被分割在不同的硬件上。系统依靠单节点 DBMS 的技术和算法来支持分布式环境中的事务处理和查询执…

Spring(19) ThreadPoolTaskExecutor 线程池的使用

目录 一、线程池简介1.1 为什么使用线程池1.2 线程池为什么需要使用队列1.3 线程池为什么要使用阻塞队列而不是用非阻塞队列1.4 如何配置线程池1.5 execute() 和 submit() 方法 二、ThreadPoolTaskExecutor 线程池简介2.1 简介2.2 核心参数配置2.3 ThreadPoolTaskExecutor 内部…

[设计模式Java实现附plantuml源码~创建型] 确保对象的唯一性~单例模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

Unity之四元数

欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数

Linux设备驱动开发学习笔记(等待队列,锁,字符驱动程序,设备树,i2C...)

1. 内核工具和辅助函数 1.1宏container_of container_of函数可以通过结构体的成员变量检索出整个结构体 函数原型&#xff1a; /* pointer 指向结构体字段的指针 container_type 结构体类型 container_field 结构体字段名称 返回值是一个指针 */ container_of(pointer, con…

ARP相关

ARP报文格式&#xff1a; 目的以太网地址&#xff0c;48bit&#xff0c;发送ARP请求时&#xff0c;目的以太网地址为广播MAC地址&#xff0c;即0xFF.FF.FF.FF.FF.FF。 源以太网地址&#xff0c;48bit。 帧类型&#xff0c;对于ARP请求或者应答&#xff0c;该字段的值都为0x08…

浅谈情绪的分类合集

什么是情绪分类 情绪分类&#xff0c;是指区分或者对比一种情绪与另一种情绪的方法&#xff0c;目前在情绪研究&#xff08;emotion research&#xff09;与情感科学&#xff08;affective science&#xff09;是具有争议的问题。有两个讨论情绪分类的基本观点&#xff1a; 情…

架构篇07-复杂度来源:低成本、安全、规模

文章目录 低成本安全规模小结 关于复杂度来源&#xff0c;前面的专栏已经讲了高性能、高可用和可扩展性&#xff0c;今天我们来聊聊复杂度另外三个来源低成本、安全和规模。 低成本 当我们的架构方案只涉及几台或者十几台服务器时&#xff0c;一般情况下成本并不是我们重点关…

vue使用科大讯飞的语音识别(语音听写)

使用的是封装好的插件&#xff1a;voice-input-button2 真的很好使很好使 1、先使用npm下载插件 npm i voice-input-button2 -save -dev 2、在main.js中引入 import voiceInputButton from voice-input-button2 3、全局引入 Vue.use(voiceInputButton, { appId: xxx, // …

(二十)Flask之上下文管理第一篇(粗糙缕一遍源码)

每篇前言&#xff1a; &#x1f3c6;&#x1f3c6;作者介绍&#xff1a;【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 &#x1f525;&#x1f525;本文已收录于Flask框架从入门到实战专栏&#xff1a;《Flask框架从入…

RT Thread Stdio生成STM32L431RCT6工程后如何修改外部时钟

一、简介 RT Thread Stdio生成STM32L431RCT6工程后默认为内部时钟&#xff0c;如何修改为外部时钟呢&#xff1f; 二、修改时钟步骤 本方案修改外部时钟为直接修改代码&#xff0c;不通过STM32CubeMX 进行配置&#xff08;使用这个软件会编译出错&#xff09; &#xff08;…

C#用Convert.ToString(Int32, Int32)和Convert.Tolnt64(String, Int32)进行数值转换

目录 一、Convert.ToString(Int32, Int32) 方法 1.定义 2. 示例 二、Convert.ToInt64(String, Int32) 1.定义 2.实例 三、用Convert.ToString(Int32, Int32)和Convert.Tolnt64(String, Int32)进行数值转换 1.Main() 2.类库 3.生成效果 使用Convert.ToString(Int32…

GPT应用程序上线注意的问题

在将GPT应用程序上线之前&#xff0c;有一些重要的问题需要注意&#xff0c;以确保应用程序的成功运行、用户满意度和合规性。以下是一些建议&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 合规性和…

docker里Java服务执行ping命令模拟流式输出

文章目录 业务场景处理解决实现ping功能并实时返回输出实现长ping和中断请求docker容器找不到ping命令处理 业务场景 我们某市的客户&#xff0c;一直使用CS版本的信控平台&#xff0c;直接安装客户Windows server服务器上&#xff0c;主要对信号机设备进行在线管理、方案配时…

Windows下安装alipay-sdk-python时,pycrypto安装报错问题处理

1、安装alipay-sdk-python 时&#xff0c;保存内容如下。 Building wheels for collected packages: pycryptoBuilding wheel for pycrypto (setup.py) ... error error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully.│ exit c…