记录一个Flutter运行的异常FAILURE: Build failed with an exception. What went wrong: A problem occurred config

简介: 记录一个Flutter运行的异常FAILURE: Build failed with an exception. What went wrong: A problem occurred config

异常内容

运行一个Flutter项目时提示:

Launching lib\main.dart on 21091116C in debug mode…

Warning: Observed package id ‘build-tools;30.0.3’ in inconsistent location ‘D:\Android\android-sdk\build-tools\30.0.3-2’ (Expected ‘D:\Android\android-sdk\build-tools\30.0.3’)

Warning: Already observed package id ‘build-tools;30.0.3’ in ‘D:\Android\android-sdk\build-tools\30.0.3’. Skipping duplicate at ‘D:\Android\android-sdk\build-tools\30.0.3-2’

Warning: Observed package id ‘build-tools;30.0.3’ in inconsistent location ‘D:\Android\android-sdk\build-tools\30.0.3-3’ (Expected ‘D:\Android\android-sdk\build-tools\30.0.3’)

Warning: Already observed package id ‘build-tools;30.0.3’ in ‘D:\Android\android-sdk\build-tools\30.0.3’. Skipping duplicate at ‘D:\Android\android-sdk\build-tools\30.0.3-3’

Warning: Observed package id ‘build-tools;30.0.3’ in inconsistent location ‘D:\Android\android-sdk\build-tools\30.0.3-2’ (Expected ‘D:\Android\android-sdk\build-tools\30.0.3’)

Warning: Already observed package id ‘build-tools;30.0.3’ in ‘D:\Android\android-sdk\build-tools\30.0.3’. Skipping duplicate at ‘D:\Android\android-sdk\build-tools\30.0.3-2’

Warning: Observed package id ‘build-tools;30.0.3’ in inconsistent location ‘D:\Android\android-sdk\build-tools\30.0.3-3’ (Expected ‘D:\Android\android-sdk\build-tools\30.0.3’)

Warning: Already observed package id ‘build-tools;30.0.3’ in ‘D:\Android\android-sdk\build-tools\30.0.3’. Skipping duplicate at ‘D:\Android\android-sdk\build-tools\30.0.3-3’

Warning: Failed to download any source lists!

Warning: IO exception while downloading manifest:

Warning: IO exception while downloading manifest:

java.net.ConnectException: Connection refused: connect

java.net.ConnectException: Connection refused: connect

at java.base/sun.nio.ch.Net.connect0(Native Method)

at java.base/sun.nio.ch.Net.connect0(Native Method)

at java.base/sun.nio.ch.Net.connect(Net.java:579)

at java.base/sun.nio.ch.Net.connect(Net.java:579)

at java.base/sun.nio.ch.Net.connect(Net.java:568)

at java.base/sun.nio.ch.Net.connect(Net.java:568)

at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)

at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)

at java.base/java.net.Socket.connect(Socket.java:633)

at java.base/java.net.Socket.connect(Socket.java:633)

at java.base/java.net.Socket.connect(Socket.java:583)

at java.base/java.net.Socket.connect(Socket.java:583)

at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183)

at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183)

at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)

at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)

at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:590)

at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:590)

at java.base/sun.net.www.http.HttpClient$1.run(HttpClient.java:588)

at java.base/sun.net.www.http.HttpClient1. r u n ( H t t p C l i e n t . j a v a : 588 ) a t j a v a . b a s e / j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( A c c e s s C o n t r o l l e r . j a v a : 569 ) a t j a v a . b a s e / j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( A c c e s s C o n t r o l l e r . j a v a : 569 ) a t j a v a . b a s e / s u n . n e t . w w w . h t t p . H t t p C l i e n t . p r i v i l e g e d O p e n S e r v e r ( H t t p C l i e n t . j a v a : 587 ) a t j a v a . b a s e / s u n . n e t . w w w . h t t p . H t t p C l i e n t . o p e n S e r v e r ( H t t p C l i e n t . j a v a : 631 ) a t j a v a . b a s e / s u n . n e t . w w w . h t t p . H t t p C l i e n t . p r i v i l e g e d O p e n S e r v e r ( H t t p C l i e n t . j a v a : 587 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . H t t p s C l i e n t . < i n i t > ( H t t p s C l i e n t . j a v a : 266 ) a t j a v a . b a s e / s u n . n e t . w w w . h t t p . H t t p C l i e n t . o p e n S e r v e r ( H t t p C l i e n t . j a v a : 631 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . H t t p s C l i e n t . N e w ( H t t p s C l i e n t . j a v a : 380 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . H t t p s C l i e n t . < i n i t > ( H t t p s C l i e n t . j a v a : 266 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . g e t N e w H t t p C l i e n t ( A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . j a v a : 193 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . H t t p s C l i e n t . N e w ( H t t p s C l i e n t . j a v a : 380 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p . H t t p U R L C o n n e c t i o n . p l a i n C o n n e c t 0 ( H t t p U R L C o n n e c t i o n . j a v a : 1287 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . g e t N e w H t t p C l i e n t ( A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . j a v a : 193 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p . H t t p U R L C o n n e c t i o n . p l a i n C o n n e c t ( H t t p U R L C o n n e c t i o n . j a v a : 1128 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p . H t t p U R L C o n n e c t i o n . p l a i n C o n n e c t 0 ( H t t p U R L C o n n e c t i o n . j a v a : 1287 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . c o n n e c t ( A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . j a v a : 179 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p . H t t p U R L C o n n e c t i o n . p l a i n C o n n e c t ( H t t p U R L C o n n e c t i o n . j a v a : 1128 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . H t t p s U R L C o n n e c t i o n I m p l . c o n n e c t ( H t t p s U R L C o n n e c t i o n I m p l . j a v a : 142 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . c o n n e c t ( A b s t r a c t D e l e g a t e H t t p s U R L C o n n e c t i o n . j a v a : 179 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . r e m o t e . i n t e r n a l . D o w n l o a d C a c h e . o p e n U r l ( D o w n l o a d C a c h e . j a v a : 245 ) a t j a v a . b a s e / s u n . n e t . w w w . p r o t o c o l . h t t p s . H t t p s U R L C o n n e c t i o n I m p l . c o n n e c t ( H t t p s U R L C o n n e c t i o n I m p l . j a v a : 142 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . r e m o t e . i n t e r n a l . D o w n l o a d C a c h e . d o w n l o a d A n d C a c h e ( D o w n l o a d C a c h e . j a v a : 622 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . r e m o t e . i n t e r n a l . D o w n l o a d C a c h e . o p e n U r l ( D o w n l o a d C a c h e . j a v a : 245 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . r e m o t e . i n t e r n a l . D o w n l o a d C a c h e . o p e n C a c h e d U r l ( D o w n l o a d C a c h e . j a v a : 453 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . r e m o t e . i n t e r n a l . D o w n l o a d C a c h e . d o w n l o a d A n d C a c h e ( D o w n l o a d C a c h e . j a v a : 622 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . L e g a c y D o w n l o a d e r . d o w n l o a d A n d S t r e a m ( L e g a c y D o w n l o a d e r . j a v a : 65 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . r e m o t e . i n t e r n a l . D o w n l o a d C a c h e . o p e n C a c h e d U r l ( D o w n l o a d C a c h e . j a v a : 453 ) a t c o m . a n d r o i d . r e p o s i t o r y . i m p l . d o w n l o a d e r . L o c a l F i l e A w a r e D o w n l o a d e r . d o w n l o a d A n d S t r e a m ( L o c a l F i l e A w a r e D o w n l o a d e r . j a v a : 51 ) a t c o m . a n d r o i d . s d k l i b . r e p o s i t o r y . l e g a c y . L e g a c y D o w n l o a d e r . d o w n l o a d A n d S t r e a m ( L e g a c y D o w n l o a d e r . j a v a : 65 ) a t c o m . a n d r o i d . r e p o s i t o r y . i m p l . m a n a g e r . R e m o t e R e p o L o a d e r I m p l . l a m b d a 1.run(HttpClient.java:588) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) at java.base/sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:587) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:631) at java.base/sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:587) at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:631) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380) at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1287) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1287) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179) at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openUrl(DownloadCache.java:245) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142) at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.downloadAndCache(DownloadCache.java:622) at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openUrl(DownloadCache.java:245) at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openCachedUrl(DownloadCache.java:453) at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.downloadAndCache(DownloadCache.java:622) at com.android.sdklib.repository.legacy.LegacyDownloader.downloadAndStream(LegacyDownloader.java:65) at com.android.sdklib.repository.legacy.remote.internal.DownloadCache.openCachedUrl(DownloadCache.java:453) at com.android.repository.impl.downloader.LocalFileAwareDownloader.downloadAndStream(LocalFileAwareDownloader.java:51) at com.android.sdklib.repository.legacy.LegacyDownloader.downloadAndStream(LegacyDownloader.java:65) at com.android.repository.impl.manager.RemoteRepoLoaderImpl.lambda1.run(HttpClient.java:588)atjava.base/java.security.AccessController.doPrivileged(AccessController.java:569)atjava.base/java.security.AccessController.doPrivileged(AccessController.java:569)atjava.base/sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:587)atjava.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:631)atjava.base/sun.net.www.http.HttpClient.privilegedOpenServer(HttpClient.java:587)atjava.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)atjava.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:631)atjava.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380)atjava.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)atjava.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)atjava.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380)atjava.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1287)atjava.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)atjava.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128)atjava.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1287)atjava.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)atjava.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128)atjava.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142)atjava.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)atcom.android.sdklib.repository.legacy.remote.internal.DownloadCache.openUrl(DownloadCache.java:245)atjava.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142)atcom.android.sdklib.repository.legacy.remote.internal.DownloadCache.downloadAndCache(DownloadCache.java:622)atcom.android.sdklib.repository.legacy.remote.internal.DownloadCache.openUrl(DownloadCache.java:245)atcom.android.sdklib.repository.legacy.remote.internal.DownloadCache.openCachedUrl(DownloadCache.java:453)atcom.android.sdklib.repository.legacy.remote.internal.DownloadCache.downloadAndCache(DownloadCache.java:622)atcom.android.sdklib.repository.legacy.LegacyDownloader.downloadAndStream(LegacyDownloader.java:65)atcom.android.sdklib.repository.legacy.remote.internal.DownloadCache.openCachedUrl(DownloadCache.java:453)atcom.android.repository.impl.downloader.LocalFileAwareDownloader.downloadAndStream(LocalFileAwareDownloader.java:51)atcom.android.sdklib.repository.legacy.LegacyDownloader.downloadAndStream(LegacyDownloader.java:65)atcom.android.repository.impl.manager.RemoteRepoLoaderImpl.lambdafetchPackages0 ( R e m o t e R e p o L o a d e r I m p l . j a v a : 138 ) a t c o m . a n d r o i d . r e p o s i t o r y . i m p l . d o w n l o a d e r . L o c a l F i l e A w a r e D o w n l o a d e r . d o w n l o a d A n d S t r e a m ( L o c a l F i l e A w a r e D o w n l o a d e r . j a v a : 51 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . E x e c u t o r s 0(RemoteRepoLoaderImpl.java:138) at com.android.repository.impl.downloader.LocalFileAwareDownloader.downloadAndStream(LocalFileAwareDownloader.java:51) at java.base/java.util.concurrent.Executors0(RemoteRepoLoaderImpl.java:138)atcom.android.repository.impl.downloader.LocalFileAwareDownloader.downloadAndStream(LocalFileAwareDownloader.java:51)atjava.base/java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:539)

at com.android.repository.impl.manager.RemoteRepoLoaderImpl.lambda$fetchPackages0 ( R e m o t e R e p o L o a d e r I m p l . j a v a : 138 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . F u t u r e T a s k . r u n ( F u t u r e T a s k . j a v a : 264 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . E x e c u t o r s 0(RemoteRepoLoaderImpl.java:138) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.Executors0(RemoteRepoLoaderImpl.java:138)atjava.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)atjava.base/java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:539)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.base/java.util.concurrent.ThreadPoolExecutorW o r k e r . r u n ( T h r e a d P o o l E x e c u t o r . j a v a : 635 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r . r u n W o r k e r ( T h r e a d P o o l E x e c u t o r . j a v a : 1136 ) a t j a v a . b a s e / j a v a . l a n g . T h r e a d . r u n ( T h r e a d . j a v a : 833 ) a t j a v a . b a s e / j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.lang.Thread.run(Thread.java:833) at java.base/java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:635)atjava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)atjava.base/java.lang.Thread.run(Thread.java:833)atjava.base/java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:635)

at java.base/java.lang.Thread.run(Thread.java:833)

Warning: Still waiting for package manifests to be fetched remotely.

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring project ‘:rive_common’.

NDK not configured. Download it with SDK manager. Preferred NDK version is ‘21.4.7075529’.

  • Try:

Run with --stacktrace option to get the stack trace.

Run with --info or --debug option to get more log output.

Run with --scan to get full insights.

BUILD FAILED in 2s

Running Gradle task ‘assembleDebug’… 3.3s

Exception: Gradle task assembleDebug failed with exit code 1


信息显示“NDK未配置。用SDK管理器下载它。首选的NDK版本是“21.4.7075529”。”

这个错误的主要原因是Android NDK (Native Development Kit) 没有配置。NDK 是一套工具,允许你使用 C 和 C++ 等语言来编写 Android 应用的部分。

可以按照以下步骤来解决这个问题:

  1. 打开 Android Studio。
  2. 点击顶部菜单的 “Tools”,然后选择 “SDK Manager”。
  3. 在弹出的窗口中,点击 “SDK Tools” 标签。
  4. 在列表中找到 “NDK (Side by side)”,并勾选它。如果已经勾选,那么请确保其版本与错误信息中的版本一致。
  5. 点击 “OK” 或 “Apply” 来下载并安装 NDK。

完成以上步骤后,可以正常运行了。

关于 NDK

NDK,全称为 Native Development Kit,是 Android 的一个工具集,它允许开发者使用 C 和 C++ 等本地语言来编写 Android 应用的部分代码。

NDK 的主要用途包括:

  1. 性能关键部分的编程:对于一些计算密集型的应用,如游戏或者图像处理,使用本地语言(C/C++)可以提供更高的执行效率。
  2. 复用代码库:如果你有大量的 C/C++ 代码库,并且想在 Android 应用中复用这些代码,那么 NDK 就非常有用。
  3. 调用本地 API:有些系统级别的 API 只能通过本地语言调用,这时候就需要使用 NDK。

不过使用 NDK 需要处理更多的跨平台兼容性问题,而且本地代码的调试也比 Java 或 Kotlin 更困难。此外,本地代码也不能自动享受到 Java 语言的一些优点,如垃圾回收和内存管理。因此,除非有明确的需求,否则一般不建议在 Android 应用中使用 NDK。

目录
相关文章
|
3月前
|
Java 网络安全 Maven
简记:一个flutter构建错误A problem occurred configuring project ‘:smart_auth‘. > Could not res
简记:一个flutter构建错误A problem occurred configuring project ‘:smart_auth‘. > Could not res
75 0
|
6月前
|
开发者
Flutter笔记:build方法、构建上下文BuildContext解析
本文主要介绍Flutter中的build方法和构建上下文对象。
189 2
Flutter笔记:build方法、构建上下文BuildContext解析
|
4月前
|
开发框架
Flutter中 MediaQuery 和 build 优化你不知道的秘密
Flutter中 MediaQuery 和 build 优化你不知道的秘密 Flutter是一个快速发展的跨平台移动应用开发框架,它提供了许多强大的工具来创建高性能的应用程序。其中两个最重要的工具是MediaQuery和build方法。本文将介绍如何使用这些工具优化应用程序性能,并分享一些你可能不知道的秘密。
|
5月前
|
Java
解决:Config service failed to start in 120 seconds! Please check ./service/apollo-service.log...
解决:Config service failed to start in 120 seconds! Please check ./service/apollo-service.log...
56 0
|
6月前
|
存储 Dart 前端开发
原来Flutter代码是这样运行在原生系统的!快来了解Flutter标准模板,感受原生系统中Flutter的魅力!
原来Flutter代码是这样运行在原生系统的!快来了解Flutter标准模板,感受原生系统中Flutter的魅力!
55 0
|
6月前
|
Dart Android开发
Flutter | vscode运行Flutter疑难杂症
本来今天更新Stable Diffusion最后一个教程的,但是今天在开发中遇到了一个问题。
Flutter | vscode运行Flutter疑难杂症
|
6月前
|
Dart 编译器 开发工具
Flutter | windows使用vscode创建并使用夜神模拟器运行flutter
开发Flutter如果使用Android studio并运行,编译器加上虚拟机基本上直接占用2个多G内存,对于16G内存的电脑来说,压力还是有点大的。所以如果使用vscode开发是不是好很多,而且还用的顺手。
156 0
|
6月前
|
缓存 JavaScript 前端开发
SAP UI5 Tools 运行了 fiori add deploy-config 命令之后,工程文件发生了哪些变化
SAP UI5 Tools 运行了 fiori add deploy-config 命令之后,工程文件发生了哪些变化
32 0
|
9月前
|
开发框架 Dart 开发工具
使用Flutter开发一套可同时运行在Android和iOS平台的代码
Flutter是一种跨平台移动应用开发框架,它允许开发者使用单一代码库构建高性能、美观且可在多个平台上运行的应用程序。本文将介绍如何使用Flutter开发一套同时适用于Android和iOS平台的代码。
|
存储 算法 Linux
通过Flutter实现在多端运行的扫雷游戏
当我们回忆起小时候的经典电脑游戏,扫雷一定是其中之一。这个简单而富有挑战的游戏不仅考验我们的智力和耐性,而且在完成后还会让我们感到一种无与伦比的成就感。现在,您可以使用Flutter来重新体验这个经典游戏,无论您是Flutter新手还是老手,都能通过本文,让您在Flutter的世界中开发出一个令人满意的扫雷游戏。
通过Flutter实现在多端运行的扫雷游戏