当前位置: 首页 > news >正文

Flutter 环境搭建 (Android)

目标

上一篇Flutter应用已经能在iOS,macOS和,chrome环境下正常运行了,这次把Android跑通。

环境

macOS 15.4.1

Visual Studio Code 1.99.3

Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ea121f8859 (11 days ago) • 2025-04-11 19:10:07 +0000
Engine • revision cf56914b32
Tools • Dart 3.7.2 • DevTools 2.42.3

JDK 17
Gradle 8.10.2

环境搭建

Flutter的Android的工具链

  • Android SDK Platform, API 35.0.2
  • Android SDK Command-line Tools – 包括 ProGuard 等基本工具
  • Android SDK Build-Tools – 包含构建 Android 应用的工具(可以下多个)
  • Android SDK Platform-Tools – 包含 Android 平台所需的各种工具,包括 adb 工具。
  • Android Emulator – 模拟器

最后效果

2025-04-23 18.42.39.png

2025-04-23 18.42.45.png

问题列表

网络:

网上试了一些方案,没有解决,下面这篇的方案在我的设备上是可以的

Android SDK更新设置代理详解:解决国内开发者下载难题

  1. 自动代理配置 https://mirrors.aliyun.com
  2. 验证代理是否生效
  3. 下载Android SDK相关工具

Snip20250423_1.png

主要是第二步让我看到了点曙光,网络测试时

  1. www.baidu.com 能访问
  2. www.google.com 超时 – 符合预期
  3. dl.google.com 404 – 这个说明不是不能访问,只是地址不对,所以又下载验证了下,总算在跑了

设置下载SDK的路径

Snip20250423_27.png

各个工具压缩包的大小

Snip20250423_28.png

同意协议, 这里我因为不了解,所以Build-Tools多下了一个

Snip20250423_29.png

从执行结果看,还是有因为超时失败的,比如https://dl.google.com/android/repository/build-tools_r36_macosx.zip
发现能ping通dl.google.com,而且能知道下载哪个包,可以直接用curl下载,一般不会有校验。

Preparing "Install Sources for Android 35 (revision 1)".
Downloading https://dl.google.com/android/repository/source-35_r01.zip
"Install Sources for Android 35 (revision 1)" ready.
Installing Sources for Android 35 in /Users/shepherd/Library/Android/sdk/sources/android-35
"Install Sources for Android 35 (revision 1)" complete.
"Install Sources for Android 35 (revision 1)" finished.
Preparing "Install Android SDK Build-Tools 35.0.1 v.35.0.1".
Downloading https://dl.google.com/android/repository/build-tools_r35.0.1_macosx.zip
"Install Android SDK Build-Tools 35.0.1 v.35.0.1" ready.
Installing Android SDK Build-Tools 35.0.1 in /Users/shepherd/Library/Android/sdk/build-tools/35.0.1
"Install Android SDK Build-Tools 35.0.1 v.35.0.1" complete.
"Install Android SDK Build-Tools 35.0.1 v.35.0.1" finished.
Preparing "Install Android SDK Platform 35 (revision 2)".
Downloading https://dl.google.com/android/repository/platform-35_r02.zip
"Install Android SDK Platform 35 (revision 2)" ready.
Installing Android SDK Platform 35 in /Users/shepherd/Library/Android/sdk/platforms/android-35
...
Preparing "Install Android Emulator v.35.4.9".
Downloading https://dl.google.com/android/repository/emulator-darwin_x64-13025442.zip
java.io.IOException: Connection closed at byte 88515719. Expected 393818294 bytes.
Warning: An error occurred while preparing SDK package Android Emulator: Connection closed at byte 88515719. Expected 393818294 bytes..
"Install Android Emulator v.35.4.9" failed.
Parsing /Users/shepherd/Library/Android/sdk/build-tools/35.0.1/package.xml
Parsing /Users/shepherd/Library/Android/sdk/platform-tools/package.xml
Parsing /Users/shepherd/Library/Android/sdk/platforms/android-35/package.xml
Parsing /Users/shepherd/Library/Android/sdk/sources/android-35/package.xml
java.net.SocketTimeoutException: Read timed out
Warning: An error occurred while preparing SDK package Android SDK Build-Tools 36: Read timed out.
java.io.IOException: Connection closed at byte 88515719. Expected 393818294 bytes.
Warning: An error occurred while preparing SDK package Android Emulator: Connection closed at byte 88515719. Expected 393818294 bytes..Preparing "Install Android SDK Build-Tools 36 v.36.0.0".
Downloading https://dl.google.com/android/repository/build-tools_r36_macosx.zip
java.net.SocketTimeoutException: Read timed out
Warning: An error occurred while preparing SDK package Android SDK Build-Tools 36: Read timed out.
"Install Android SDK Build-Tools 36 v.36.0.0" failed.
Preparing "Install Android Emulator v.35.4.9".
Downloading https://dl.google.com/android/repository/emulator-darwin_x64-13025442.zip
...

Flutter 执行 Android

Flutter驱动Android Studio工程成功运行到模拟器上

Snip20250425_9.png

问题列表

flutter doctor

$ flutter doctor

2025-04-23 19.08.20.png

两个问题,上一篇文章里是无法定位到Android SDK,现在能定位到了,看报错需要同意下协议

同意Android协议
# 会报错,依赖sdkmanager
$ flutter doctor --android-licenses
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to resolve this.

在Android Studio界面选择了安装 command-line 工具后

Snip20250424_3.png

下载完成后会在sdk > cmdline-tools目录下

# ~/.zshrc 追加环境变量
export PATH="sdk/command-tools/latest/bin/:$PATH"
source ~/.zshrc

再次执行sdkmanager无法打开

Snip20250423_4.png

$ sudo xattr -d com.apple.quarantine ~/Library/Android/sdk/cmdline-tools/bin/sdkmanager

再次执行JDK版本过低…

JDK版本过低不支持sdkmanager

选择合适的平台和架构然后下载JDK 17

openjdk

然后复制到/Library/Java/JavaVirtualMachines/ 目录下

修改~/.zshrc 里的PATH,将java命令指向这个目录下的JDK 17

$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/openlogic-openjdk-17.jdk/Contents/Home$ export PATH="$JAVA_HOME/bin:$PATH"

打印当前的JDK版本

$ java --version
openjdk 17.0.14 2025-01-21
OpenJDK Runtime Environment OpenLogic-OpenJDK (build 17.0.14+7-adhoc.admin.jdk17u)
OpenJDK 64-Bit Server VM OpenLogic-OpenJDK (build 17.0.14+7-adhoc.admin.jdk17u, mixed mode, sharing)

处理完成后,再次执行

# 成功完成协议的签署
$ flutter doctor --android-licenses

Maven地址的替换

  1. maven.google.com google的maven库资源站 – 不能访问
  2. pub.dev dart和flutter的官方开放库资源站 – 能访问
  3. github.com – 慢,但勉强能访问

参考这个进行处理 【Flutter】flutter doctor network resources 报错,解决国内开发环境问题

但里面说要重新删除cache,因为昨天网问题,下载非常慢,我原来下过,大部分是不用删,不删改代码执行会报错,主要是因为有哈希校验,所以看了下,把几个大的(artifacts,dark-sdk,flutter_web_sdk)和相关的.stamp文件保留,然后执行会快很多

创建Android虚拟机

使用Android Studio界面创建虚拟机,下载镜像,还是网络问题,一直失败,还是通过浏览器下载放到

# 35是API;google_apis_playstore是界面的名字;x86_64是架构
.../sdk/system-images/android-35/google_apis_playstore/x86_64

但是界面识别不了,还是要求我下载。后面发现可以通过VSCode触发创建虚拟机(Create Android emulator),所以这个可以等后面再处理

Snip20250424_4.png

Maven安装:卡在Flutter:Running Gradle task ‘assembleDebug’ - Exception in thread “main” java.util.zip.ZipException: zip END header not found

网上找的资料是gradle-wrapper.properties里的gradle的版本号

distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip

本地gradle的安装目录,在~/.gradle目录,大小和gradle 差距很大,所以应该是gradle.zip没下载成功导致的。

解决方案:可以通过浏览器下载后放到对应目录

Snip20250424_5.png

或者换源应该也可以,一开始没找到,所以用浏览器下载的方法。

# 换源改成腾讯的
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.10.2-all.zip

Maven下载依赖包相关

下载kotlin-compiler-embeddable超时
02e07463 Importing root project - 70% Download https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.9.24/kotlin-compiler-embeddable-1.9.24.jar

从网上下载后放到这个路径下 ~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.9.24/3fbd9c879bd84704a4c457237ce625d02f8f3d3c/

Maven依赖冲突

照着网上的在settings.gradle.kts加了国内的源之后

* What went wrong:
Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle.kts'
* What went wrong:
Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle.kts'

解决方案: 去掉build.gradle.kts文件中的allprojects下的repositories内容

安装冲突
* What went wrong:
An exception occurred applying plugin request [id: 'dev.flutter.flutter-gradle-plugin']
> Failed to apply plugin 'dev.flutter.flutter-gradle-plugin'.> Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by plugin 'dev.flutter.flutter-gradle-plugin'

这步卡了比较久,问了DeepSeek,是因为 setting.gradle.ktsrepositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)指定包用setting显式设置的源才可以,id("dev.flutter.flutter-plugin-loader") version "1.0.0" 这一句加的源没在上面声明

解决方案:可以把配置改成

repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
最终的build.gradle.kts + setting.gradle.kts
// build.gradle.kts
allprojects {repositories {// maven { url = uri("https://maven.aliyun.com/repository/public") }// maven { url = uri("https://maven.aliyun.com/repository/google") }// google()// mavenCentral()// google()// mavenCentral()}
}val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get()
rootProject.layout.buildDirectory.value(newBuildDir)subprojects {val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)project.layout.buildDirectory.value(newSubprojectBuildDir)
}
subprojects {project.evaluationDependsOn(":app")
}tasks.register<Delete>("clean") {delete(rootProject.layout.buildDirectory)
}
// settings.gradle.kts
pluginManagement {val flutterSdkPath = run {val properties = java.util.Properties()file("local.properties").inputStream().use { properties.load(it) }val flutterSdkPath = properties.getProperty("flutter.sdk")require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }flutterSdkPath}includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")repositories {google()mavenCentral()gradlePluginPortal()}
}dependencyResolutionManagement {// repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)repositories {// 添加国内镜像源maven { url = uri("https://maven.aliyun.com/repository/public") }maven { url = uri("https://maven.aliyun.com/repository/google") }maven { url = uri("https://repo.huaweicloud.com/repository/maven") } // 华为云maven { url = uri("https://mirrors.tencent.com/nexus/repository/maven-public") } // 腾讯云// 后面报错会用到maven { url = uri("https://storage.flutter-io.cn/download.flutter.io")}maven { url = uri("https://maven.aliyun.com/repository/jcenter")}// 保留默认仓库(镜像源缺失时回退)google()mavenCentral()}
}plugins {id("dev.flutter.flutter-plugin-loader") version "1.0.0"id("com.android.application") version "8.7.0" apply falseid("org.jetbrains.kotlin.android") version "1.8.22" apply false
}include(":app")
小插曲: 关闭gradle自动更新

每次打开gradle都自动更新,现在有问题,自动更新影响思考,先关闭,打开首选项 > 设置,搜索Gradle,观后取消勾选。

Snip20250425_7.png

NDK 安装

在VSCode的终端执行

$ cd android
$ ./gradlew clean build --refresh-dependencies

又是等待…

Snip20250425_5.png

下载解压后放到sdk的对应目录下,重新执行gradle更新的命令

困惑:NDK的默认版本

错误提示下载 26.3.11579264,但是NDK 下载 已经标记过期了。

下面的flutter.ndkVersion值定义在flutter sdk的安装目录下的 .../flutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy

android {namespace = "com.example.helloworld"compileSdk = flutter.compileSdkVersionndkVersion = flutter.ndkVersion...
}

Snip20250425_8.png

没明白为什么会去下34的build-Tools,本地已经安装的是35和36,命令会下失败,手动下载34后放到sdk对应目录下

Checking the license for package Android SDK Build-Tools 34 in ~/Library/Android/sdk/licenses
License for package Android SDK Build-Tools 34 accepted.
Preparing "Install Android SDK Build-Tools 34 v.34.0.0".
...

找不到flutter_embedding_debug包

The org.gradle.api.plugins.Convention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.10.2/userguide/upgrading_version_8.html#deprecated_access_to_conventionsat Build_gradle$3.execute(build.gradle.kts:29)

用的gradle是8.10.2,有警告,但是不阻塞

> Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.> Could not find io.flutter:flutter_embedding_debug:1.0.0-cf56914b326edb0ccb123ffdc60f00060bd513fa.> Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.> Could not find io.flutter:arm64_v8a_debug:1.0.0-cf56914b326edb0ccb123ffdc60f00060bd513fa.

上面两个包找不到导致无法继续执行

> Task :app:checkDebugAarMetadata FAILEDFAILURE: Build failed with an exception.

根据参考4,在settings.gradle.kts添加

maven { url = uri("https://storage.flutter-io.cn/download.flutter.io")}
maven { url = uri("https://maven.aliyun.com/repository/jcenter")}

2025-04-25 16.31.36.png

网络差可能下载失败还会报错,只能重新执行

下指定版本的cmake

2025-04-25 17.06.52.png

旧版本cmake下载

本来要编译一个,但是下载下来了,这步跳过

成功

2025-04-25 17.38.24.png

体验与收获

  1. 本地搭了Android开发环境,了解了Android的几个目录的工具用途
  2. Flutter运行Android平台
  3. 很多问题都是网络的原因,大部分时间在下载资源
  4. 不兼容的问题蛮折腾,开发容易,维护难
  5. 多去使用AI

参考

  1. 开始在 macOS 上构建 Flutter Android 应用
  2. Android SDK更新设置代理详解:解决国内开发者下载难题
  3. 【Flutter】flutter doctor network resources 报错,解决国内开发环境问题
  4. 使用Android Studio开发flutter项目报错:Execution failed for task ':app:checkDebugAarMetad

相关文章:

Flutter 环境搭建 (Android)

目标 上一篇Flutter应用已经能在iOS&#xff0c;macOS和,chrome环境下正常运行了,这次把Android跑通。 环境 macOS 15.4.1 Visual Studio Code 1.99.3 Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision ea121f8859 (11 da…...

数字化技术的五个环节:大数据、云计算、人工智能、区块链、移动互联网

在21世纪的科技浪潮中&#xff0c;数字化技术以其强大的生命力和无限的潜力&#xff0c;正逐步重塑着我们的世界。大数据、云计算、人工智能、区块链、移动互联网&#xff0c;这五大数字化技术的环节&#xff0c;如同构建智慧未来的基石&#xff0c;每一方面都承载着推动社会进…...

PWNOS:2.0(vulnhub靶机)

文章目录 靶机地址主机发现、端口扫描web渗透目录探测漏洞利用权限提升 解密工具地址总结 靶机地址 https://download.vulnhub.com/pwnos/pWnOS_v2.0.7z 这里如果是windows系统直接使用vmware或者virtubox打开可以使用,如果是mac系统需再去做一个配置&#xff0c;比较麻烦 这里…...

ubuntu22.04部署Snipe-IT

文章目录 参考链接一、写在前二、安装操作系统三、安装 PHP四、下载 Snipe-IT五、安装依赖六、安装数据库并创建用户七、安装 Snipe-IT八、安装 Nginx九、Web 继续安装 Snipe-IT补充&#xff1a; 最后 参考链接 How to Install Snipe-IT on Ubuntu 22.04 https://www.rosehost…...

【EDA】EDA中聚类(Clustering)和划分(Partitioning)

在VLSI物理设计自动化中&#xff0c;聚类&#xff08;Clustering&#xff09;和划分&#xff08;Partitioning&#xff09;是两个不同的关键步骤&#xff0c;主要区别如下&#xff1a; 1. 目标与核心任务 聚类&#xff08;Clustering&#xff09; 目标&#xff1a;将电路中的…...

Java 安全:如何实现用户认证与授权?

Java 安全&#xff1a;如何实现用户认证与授权&#xff1f; 在当今数字化的世界中&#xff0c;用户认证与授权是 Java 应用程序安全的关键环节。它们确保只有经过授权的用户才能访问特定资源&#xff0c;保护系统免受未授权访问的威胁。本文将深入探讨如何在 Java 中实现用户认…...

六个能够白嫖学习资料的网站

一、咖喱君的资源库 地址&#xff1a;https://flowus.cn/galijun/share/de0f6d2f-df17-4075-86ed-ebead0394a77 这是一个学习资料/学习网站分享平台&#xff0c;包含了英语、法语、德语、韩语、日语、泰语等几十种外国语言的学习资料及平台&#xff0c;这个网站的优势就是外语…...

AWS Glue ETL设计与调度最佳实践

一、引言 在AWS Glue中设计和调度ETL过程时&#xff0c;需结合其无服务器架构和托管服务特性&#xff0c;采用系统化方法和最佳实践&#xff0c;以提高效率、可靠性和可维护性。本文将从调度策略和设计方法两大维度详细论述&#xff0c;并辅以实际案例说明。 二、调度策略的最…...

《深入理解 AOP》

一、AOP 是什么 AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff0c;即面向切面编程&#xff0c;是软件开发中一种重要的编程范式。它通过横向抽取机制&#xff0c;将那些与业务逻辑本身无关、却为业务模块所共同调用的逻辑或责任&#xff08;如事务处理、日…...

2022李宏毅老师机器学习课程笔记

机器学习笔记目录 1.绪论&#xff08;内容概述&#xff09;2.机器学习和深度学习的基本概念transformer 1.绪论&#xff08;内容概述&#xff09; 机器学习&#xff1a;让机器找一个函数&#xff0c;通过函数输出想要的结果。应用举例&#xff1a;语音识别&#xff0c;图像识别…...

时序数据库IoTDB在航空航天领域的解决方案

在快速发展的航空航天领域&#xff0c;高效、安全的数据管理成为了技术创新和持续发展的关键支撑。时序数据库IoTDB&#xff0c;凭借其国产自研、高效低流量数据同步、丰富的部署选择等优势&#xff0c;为航空航天产业提供了强有力的数据基础&#xff0c;助力产业加速转型升级。…...

洛谷 B3647:【模板】Floyd 算法

【题目来源】 https://www.luogu.com.cn/problem/B3647 【题目描述】 给出一张由 n 个点 m 条边组成的无向图。 求出所有点对 (i,j) 之间的最短路径。 【输入格式】 第一行为两个整数 n&#xff0c;m&#xff0c;分别代表点的个数和边的条数。 接下来 m 行&#xff0c;每行三…...

【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡

目录 一、生成树协议1. 生成树技术背景1&#xff09;单链路上行存在单点故障2&#xff09;二层环路问题3&#xff09;二层环路问题——广播风暴实验验证 广播风暴例题1&#xff1a;二层环路故障现象4&#xff09;二层环路问题—— MAC地址表震荡实验验证 MAC地址表震荡的现象 2…...

解释器体系结构风格-笔记

解释器&#xff08;Interpreter&#xff09;是一种软件设计模式或体系结构风格&#xff0c;主要用于为语言&#xff08;或表达式&#xff09;定义其语法、语义&#xff0c;并通过解释器来解析和执行语言中的表达式。解释器体系结构风格广泛应用于编程语言、脚本语言、规则引擎、…...

删除新安装IBM Guardium Data Protection 12.1的baltimorecybertrustroot证书

登录web console&#xff0c;会显示 baltimorecybertrustroot证书过期警告。 采用下面的命令删除过期证书就可消除警告。 collector02.cpd.com> delete certificate keystore Select an alias from the list below to delete the corresponding certificate. Alias List:…...

反序列化漏洞1

一、PHP类与对象 1. 类 概念理解: 类是共享相同结构和行为的对象的集合&#xff0c;可以理解为特征的提取。例如将耳朵长、尾巴短、红眼睛、吃胡萝卜、蹦跳行走的动物特征抽象为"兔子"类。代码结构: 使用class关键字定义类类名遵循大驼峰命名法包含成员变量(属性)和…...

正则表达式三剑客之——awk命令

目录 一.什么是awk 二.awk的语法格式 1.选项 2. 模式&#xff08;Pattern&#xff09; 3. 操作&#xff08;Action&#xff09; 4. 输入文件&#xff08;file&#xff09; 5.总结 三.awk的工作原理 1. 逐行扫描输入 2. 匹配模式 1.正则表达式&#xff1a; 2.逻辑表…...

施磊老师基于muduo网络库的集群聊天服务器(七)

文章目录 数据表字符集问题支持中文和英文**为什么使用 utf8mb4&#xff1f;** 推荐 查看整个表, 再单独修改 客户端群组功能创建群组添加群组群组聊天接收在线群组消息接收离线群组消息补充服务器事件处理器补充服务器查询群组列表问题解决测试 目前报错总结目前为止最恶心的错…...

多模态(3):实战 GPT-4o 视频理解

最近&#xff0c;OpenAI 团队的 GPT-4o 模型&#xff0c;在多模态方面的能力有了大幅提升&#xff0c;这次我们就使用 GPT-4o 完成一个视频理解的实战。 1. 环境搭建 1.1 安装 FFmpeg 做视频处理&#xff0c;我们需要用到 FFmpeg 这款功能强大的开源多媒体处理工具。FFmpeg…...

基于python实现一个二维图片的路径规划问题

一、场景 基于如下的一个楼层平面图&#xff0c;假设有几个预置的点&#xff08;实际项目中可能是动态的点&#xff0c;比如找车位&#xff0c;找工位&#xff09;&#xff0c;做路径规划&#xff0c;并画在平面图上 二、方案 1.准备平面室内图 可以自己用QGIS/cad等其他方式…...

云服务器centos 安装hadoop集群

百度 搜索 云服务器centos 安装hadoop 创建Hadoop用户 sudo useradd hadoop -m -s /bin/bash sudo passwd hadoop 123456 下载Hadoop wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz 解压并移动Hadoop到指定目录 tar …...

【k8s】sidecar边车容器

一、Sidecar 模式简介 Sidecar 模式是一种常见的微服务架构设计模式。它通过将附加功能或服务与主应用程序部署在同一容器或主机上&#xff0c;从而实现对主应用程序的增强和扩展。Sidecar 的名称来源于摩托车的边车&#xff0c;它与摩托车紧密相连&#xff0c;为主车提供额外…...

Web漏洞--XSS之订单系统和Shell箱子

本文主要内容 手法 XSS平台使用 XSS工具使用 XSS结合其他漏洞 XSS具体使用场景 某订单系统XSS盲打_平台 某Shell箱子系统XSS盲打_工具 [1]订单系统经典案例 第一个简易攻击流程&#xff08;订单系统&#xff09;&#xff1a;通过平台完成XSS跨站之后&a…...

# 构建词汇表:自然语言处理中的关键步骤

构建词汇表&#xff1a;自然语言处理中的关键步骤 在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;词汇表&#xff08;Vocabulary&#xff09;是文本数据预处理的核心组件之一。它将文本中的单词或字符映射为数值索引&#xff0c;从而让计算机能够理解和处理语言…...

新!在 podman-machine-default 中安装 CUDA、cuDNN、Anaconda、PyTorch 等并验证安装

#工作记录 一、前言 在 Windows 系统开发环境中&#xff0c;Podman Desktop 凭借强大的容器管理与 WSL-Linux 子系统集成能力备受开发者关注。 其中&#xff0c;podman-machine-default 是 Podman Desktop 安装后自带的默认 WSL-Fedora 子系统&#xff0c;支持与显卡通信&am…...

python_BeautifulSoup提取html中的信息

目录 描述&#xff1a; 过程&#xff1a; step one 下载html网页到本地 step two 提取html信息 list_con soup.select(.list-con) [0] li_list list_con.find_all(li) a li.find(span).find(a) title a.get(title) url a.get(href) span li.find(span).find(spa…...

pcd2pgm的launch文件实现

1.新建工作空间和克隆代码 mkdir -p pcd2pgm_launch/src && cd pcd2pgm_launch/src git clone https://github.com/Hinson-A/pcd2pgm_package 2. 编译 cd .. catkin_make -j4 3.修改launch 在launch文件目录下&#xff0c;可以用gedit 打开launch文件&#xff0c…...

Vue里面elementUi-aside 和el-main不垂直排列

先说解决方法 main.js少导包 import element-ui/lib/theme-chalk/index.css; //加入此行即可 问题复现 排查了一个小时终于找出来问题了&#xff0c;建议导包去看官方的文档&#xff0c;作者就是因为看了别人的导包流程导致的问题 导包官网地址Element UI导包快速入门...

论文阅读:2024 ACL ArtPrompt: ASCII Art-based Jailbreak Attacks against Aligned LLMs

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 Artprompt: Ascii art-based jailbreak attacks against aligned llms https://www.doubao.com/chat/3846685176618754 https://arxiv.org/pdf/2402.11753 https://github…...

项目maven版本不一致 导致无法下载

路程&#xff1a;打开一个新项目发现&#xff0c;maven加载不了 报错&#xff1a; Error running ‘dataManage [clean]’ No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your s…...

论文阅读:2024 NeurIPS Group Robust Preference Optimization in Reward-free RLHF

Group Robust Preference Optimization in Reward-free RLHF https://www.doubao.com/chat/3870738843518978 https://arxiv.org/pdf/2405.20304 速览 研究动机 传统RLHF忽视群体偏好差异&#xff0c;导致模型对少数群体表现不佳&#xff0c;需提升群体鲁棒性。研究问题 如…...

数据可视化平台产品介绍及功能特色

数据可视化平台是一款适用于高校教学和各领域企业的零门槛可视化工具&#xff0c;能够解决高校数据分析与可视化类课程教学、实训问题。平台通过浏览器即可访问&#xff0c;无需安装客户端。平台内置公式编辑器与指标构建器&#xff0c;学生可通过四则运算、分组聚合等方式衍生…...

MySQL索引优化、SQL分析与运行原理 - Java架构师面试实战

MySQL索引优化、SQL分析与运行原理 - Java架构师面试实战 第一轮提问 面试官&#xff1a;马架构&#xff0c;请问您对MySQL的B树索引有什么理解&#xff1f; 马架构&#xff1a;B树是一种平衡多路查找树&#xff0c;所有的数据节点都存储在叶子节点上。相比于B树&#xff0c…...

C++学习:六个月从基础到就业——STL:函数对象与适配器

C学习&#xff1a;六个月从基础到就业——STL&#xff1a;函数对象与适配器 本文是我C学习之旅系列的第二十九篇技术文章&#xff0c;也是第二阶段"C进阶特性"的第八篇&#xff0c;主要介绍C STL中的函数对象与适配器。查看完整系列目录了解更多内容。 引言 在前面的…...

Linux基础篇、第四章_02磁盘及分区管理fdisk 和 gdisk

题目&#xff1a;Linux 磁盘及分区管理 版本号: 1.0,0 作者: 老王要学习 日期: 2025.04.25 适用环境: Centos7 文档说明 本教程适用于 Centos7 环境&#xff0c;详细介绍 Linux 磁盘及分区管理操作。包含虚拟机添加磁盘的关机与开机添加方法、MBR 和 GPT 两种分区方式特点、…...

火山云的市场竞争

火山云是字节跳动旗下的云计算服务&#xff0c;对吧&#xff1f;那它的竞争对手应该包括国内外的大型云服务提供商。首先&#xff0c;国际市场上&#xff0c;像AWS、Azure、Google Cloud这些巨头肯定是大头。国内的话&#xff0c;阿里云、腾讯云、华为云这些应该都是主要的竞争…...

创建型设计模式之:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式

创建型设计模式之&#xff1a;简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式 &#xff08;一&#xff09;简单工厂模式 简单工厂模式将对象的实例化过程封装到一个工厂类中&#xff0c;根据输入的条件创建不同类型的对象。 角色划分&#xff1a; 抽象产品…...

【Linux内核设计与实现】第三章——进程管理01

文章目录 1. 引言2. 进程&线程——概念3. 进程控制块/进程描述符(PCB)4. 进程内核栈&#xff08;Kernel Stack&#xff09;4.1. 进程内核栈的定义4.2. thread_info 体系结构相关进程描述4.3. 定位进程描述符(task_struct)和内核栈以及内核栈指针的问题 5. 进程 ID&#xff…...

正大模型视角下的市场结构判断逻辑

正大模型视角下的市场结构判断逻辑 在多数交易策略中&#xff0c;结构识别往往先于方向判断。以正大的数据研判风格为例&#xff0c;其核心逻辑是&#xff1a;价格行为不能孤立解读&#xff0c;必须结合时间与成交效率来判断当前结构的有效性。 例如&#xff0c;一个上涨过程&…...

4.25学习——文件上传之00截断

继昨天学习的基础文件上传内容&#xff0c;进一步学习文件上传的绕过方式 00截断绕过 原理&#xff1a;00截断是操作系统层的漏洞&#xff0c;由于操作系统是C语言或汇编语言编写的&#xff0c;这两种语言在定义字符串时&#xff0c;都是以\0&#xff08;即0x00&#xff09;作…...

黑马Redis(三)黑马点评项目

优惠卷秒杀 一、全局唯一ID 基于Redis实现全局唯一ID的策略&#xff1a; Component RequiredArgsConstructor public class RedisIdWorker {private static final Long BEGIN_TIMESTAMP1713916800L;private static final int COUNT_BITS 32;Resourceprivate final StringRed…...

dedecms织梦arclist标签noflag属性过滤多个参数

织梦dedecms系统arclist标签noflag属性默认是只能过滤一个参数&#xff0c;比如过滤推荐是noflagc&#xff0c;过滤有图片的文章是noflagc&#xff0c;在模板制作过程中&#xff0c;有时候我们为了seo和避免重复&#xff0c;需要过滤多个参数。今天小编就来跟大家讲讲织梦dedec…...

Jira、PingCode、Redmine等18款缺陷管理工具对比评测

本文主要介绍了以下&#xff1a;1. PingCode; 2. Worktile; 3. Jira; 4. Bugzilla; 5. TAPD; 6. 码云; 7. Redmine; 8. Trac; 9. 蓝鲸智云; 10. 阿里云效等等18款缺陷管理工具。 在现代软件开发和项目管理中&#xff0c;缺陷管理工具扮演着至关重要的角色。随着企业对软件质量的…...

京东以图搜图(拍立淘)API接口返回参数详解

京东以图搜图&#xff08;拍立淘&#xff09;API接口的返回参数通常以结构化JSON格式呈现&#xff0c;涵盖商品基础信息、相似度评分、库存状态及扩展字段&#xff0c;以下为关键参数详解及使用建议&#xff1a; 一、核心返回参数解析 状态标识类 status&#xff1a;请求状态…...

LSTM+KNN - 多元数据异常检测 !

大家好!我是我不是小 upper~ 今天想和大家分享一个超实用的案例:如何通过 LSTM 与 KNN 实现多元数据异常检测。 想象一下,在工厂的智能化监控场景中,各类传感器实时采集着温度、湿度、压力等海量数据。我们的目标,就是从中精准识别出设备潜在故障等异常情况。 LSTM 作为时…...

OpenHarmony之电源管理子系统公共事件定义

OpenHarmony之电源管理子系统公共事件定义 电源管理子系统面向应用发布如下系统公共事件&#xff0c;应用如需订阅系统公共事件&#xff0c;请参考公共事件接口文档。 COMMON_EVENT_BATTERY_CHANGED 表示电池充电状态、电平和其他信息发生变化的公共事件的动作。 值&#x…...

angular 实现可编辑可选择复制的表格

这个实现的核心就是ag-grid 当然有类似的库就不必多说&#xff0c;React, Vue和纯h5类似。简单贴一下代码 1.首先是h5部分&#xff0c;就一个id为supply-chain-material-grid-table的div&#xff0c;记住要设置高度 <div class"dki-supply-chain-page-body">…...

组织用户数统计实现

# 完整的组织用户数统计实现 完整的组织用户数统计实现&#xff0c;包括模拟SQL查询、完整的Java代码实现以及详细解释。 ## 1. 模拟SQL查询 假设我们有一个组织表(organization)和用户表(user)&#xff0c;以下是模拟查询SQL&#xff1a; sql -- 获取各组织及其用户数量&a…...

天机学堂day10作业,完善兑换优惠券功能

UserCouponServiceImpl /*** 兑换码兑换优惠券* param code*/TransactionalOverridepublic void exchangeCoupon(String code) {//1、校验code是否为空if (StringUtils.isBlank(code)) {throw new BadRequestException("非法参数&#xff01;");}//2、解析兑换码&…...

Python编程的真谛:超越语法,理解编程本质

你是否也曾陷入这样的误区&#xff1a;学了无数的 Python 语法、刷了几十套题&#xff0c;写起代码却仍然卡顿、举步维艰&#xff1f;这时候你才发现&#xff0c;真正阻碍进步的&#xff0c;从不是语法&#xff0c;而是你对“编程本质”的理解。 如果你只是死记硬背Python的语…...