Flutter如何构建APK
Posted
技术标签:
【中文标题】Flutter如何构建APK【英文标题】:Flutter how to build APK 【发布时间】:2022-01-15 12:00:04 【问题描述】:我创建了一个空的颤振项目。 Flutter 安装成功。我创建了一个空项目,但是当我通过 USB 连接手机时,我无法构建 APK 并在 android 设备上启动我的应用程序。
在构建 apk 之后,我收到了一个错误:
Building with sound null safety
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not download gradle-4.1.0.jar (com.android.tools.build:gradle:4.1.0)
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.0/gradle-4.1.0.jar'.
> Premature end of Content-Length delimited message body (expected: 6�041�440; received: 4�456�416)
> Could not download builder-4.1.0.jar (com.android.tools.build:builder:4.1.0)
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/4.1.0/builder-4.1.0.jar'.
> Premature end of Content-Length delimited message body (expected: 9�546�513; received: 6�553�552)
> Could not download bundletool-0.14.0.jar (com.android.tools.build:bundletool:0.14.0)
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.14.0/bundletool-0.14.0.jar'.
> Premature end of Content-Length delimited message body (expected: 7�826�780; received: 4�456�416)
* 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.
* Get more help at https://help.gradle.org
BUILD FAILED in 1h 23m 34s
Running Gradle task 'assembleRelease'... 5015,6s
[!] Gradle threw an error while downloading artifacts from the network. Retrying to download...
Checking the license for package Android SDK Build-Tools 29.0.2 in C:\Users\User\AppData\Local\Android\sdk\licenses
Warning: License for package Android SDK Build-Tools 29.0.2 not accepted.
Checking the license for package Android SDK Platform 30 in C:\Users\User\AppData\Local\Android\sdk\licenses
Warning: License for package Android SDK Platform 30 not accepted.
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:lintVitalRelease'.
> Could not resolve all dependencies for configuration ':app:lintClassPath'.
> Could not create task ':app:minifyReleaseWithR8'.
> Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-30 Android SDK Platform 30
build-tools;29.0.2 Android SDK Build-Tools 29.0.2
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html
Using Android SDK: C:\Users\User\AppData\Local\Android\sdk
* 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.
* Get more help at https://help.gradle.org
BUILD FAILED in 6m 19s
Running Gradle task 'assembleRelease'... 380,2s
Gradle task assembleRelease failed with exit code 1
我首先创建了一个 Android 应用程序。而且我没有经验。
怎么了?
非常感谢。
我已修复将 jcenter() 添加到 build.gradle 的错误。但现在我收到一个错误:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:compileReleaseJavaWithJavac'.
> Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-30 Android SDK Platform 30
build-tools;29.0.2 Android SDK Build-Tools 29.0.2
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html
Using Android SDK: C:\Users\User\AppData\Local\Android\sdk
* 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.
* Get more help at https://help.gradle.org
BUILD FAILED in 9s
【问题讨论】:
【参考方案1】:如果是第一次启动... 确保您已连接到互联网!应该安装和缓存一些依赖项
如果错误仍然存在...尝试运行flutter pub clean
,然后运行flutter pub get
【讨论】:
我已修复将 jcenter() 添加到 build.gradle 的错误。但现在我收到一个错误:【参考方案2】:您可以使用以下命令构建 apk:
flutter build apk --release
或直接使用 Android Studio
【讨论】:
谢谢。但我知道如何构建应用程序。我的问题是另一个。我不明白为什么构建失败了。【参考方案3】:我知道您在许可协议方面遇到了一些问题。 您应该尝试打开终端并输入:
颤振医生 --android-licenses
然后您应该按 y 接受每个许可证,完成该过程后再次尝试构建项目。
【讨论】:
【参考方案4】:根据报错,是你没有安装一些组件,你可以打开android studio,settings,sdk,安装后查找buildtools和plattforms版本,因为你的问题会解决,在创建应用程序的相同方法我喜欢使用以下命令执行此操作,该命令为您提供架构的版本 flutter build apk --split-per-abi
【讨论】:
以上是关于Flutter如何构建APK的主要内容,如果未能解决你的问题,请参考以下文章