ionic pro包失败:无法安装android SDK Platform 26
Posted
技术标签:
【中文标题】ionic pro包失败:无法安装android SDK Platform 26【英文标题】:ionic pro package failure: Failed to install android SDK Platform 26 【发布时间】:2017-09-28 00:34:22 【问题描述】:我正在使用新的 Ionic Pro。我已将我以前工作的 ionic 应用程序迁移到新的 Pro 服务。我现在能够成功地将我的代码推送到我的 ionic pro git repo 并且我可以在仪表板上看到构建日志。构建成功完成。完成后,我导航到所述构建的“包”选项卡。我将我的包配置为编译 platform=Android version=Release Security Profile=Android Release 安全配置文件。
此时的输出日志在安装过程中移动并获得以下控制台输出。
BUILD SUCCESSFUL
然后构建过程似乎启动了一个 Gradle 守护进程并最终以这个输出结束
The Task.leftShift(Closure) method has been deprecated and is scheduled to
be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
at
build_dczd6dp0q9phbzjp0lgrh3ndj.run(/usr/src/app/platforms/android/build.gradle:142) 文件 /home/gitlab-runner/.android/repositories.cfg 无法加载。 在 /opt/android- 中检查包 Android SDK Platform 26 的许可证 SDK/许可证 已接受包 Android SDK Platform 26 的许可。 准备“安装 Android SDK 平台 26”。 警告:无法读取或创建安装属性文件。
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Failed to install the following SDK components:
[Android SDK Platform 26]
The SDK directory (/opt/android-sdk) is not writeable,
please update the directory permissions.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --
debug option to get more log output.
BUILD FAILED
Total time: 33.48 secs
Error: /usr/src/app/platforms/android/gradlew: Command failed with exit code
1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Failed to install the following SDK components:
[Android SDK Platform 26]
The SDK directory (/opt/android-sdk) is not writeable,
please update the directory permissions.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --
debug option to get more log output.
Failed to upload apk to storage please retry your build.
Running after script...
$ clean-up
Cleaning up files...
Successful clean up
ERROR: Job failed: exit status 1
我不清楚这个错误是什么意思,或者我如何使用 ionic pro 解决它。该构建在本地为我工作。
以下是我的离子信息
@ionic/cli-utils : 1.10.2
ionic (Ionic CLI) : 3.10.3
global packages:
Cordova CLI : 7.0.1
local packages:
@ionic/app-scripts : 2.1.4
Cordova Platforms : android 6.2.3 ios
Ionic Framework : ionic-angular 2.3.0
System:
Node : v7.5.0
npm : 4.1.2
OS : Windows 10
【问题讨论】:
【参考方案1】:TLDR
以下是临时解决方案:
将项目根目录下 package.json 文件中的 cordova-android 依赖项更改为
"cordova-android": "~6.2.3"
然后推送到 ionic master。注意 - 在 config.xml 中更改 android 引擎似乎无法解决问题
问题
这里的问题是cordova-android 6.3.x 使用Android-26。 Ionic Pro Package 似乎还没有在他们的包服务中提供 Android 26。因此,临时解决方案是将 cordova-android 降级到使用 Android-26 的 6.2.3。很可能以下文件配置如下:
config.xml
<engine name="android" spec="^6.2.3" />
package.json
"cordova-android": "^6.2.3",
两个配置中的 ^ 指定使用插件的最新 6.X.X 版本,在本例中为 6.3.X。将 ^ 更改为 ~ 指定使用最新的 6.2.X。在 config.xml 中进行更改并不能解决问题,因为我认为这是一个 Ionic Pro 包构建问题,其中 Ionic Pro 包引用 config.js 中指定的 Cordova-android 版本来启动确定要使用的 android sdk 版本。这就是为什么需要在package.json中更改cordova-android版本的原因,暂时将android sdk版本降级到25,直到Ionic Pro更新他们的服务以支持android sdk 26
【讨论】:
我爱你,我想和你生孩子。感谢您的回复。以上是关于ionic pro包失败:无法安装android SDK Platform 26的主要内容,如果未能解决你的问题,请参考以下文章
Ionic pro 构建失败并出现错误 Xcode 9 未提供配置文件
Ionic 上的任务“:processDebugResources”执行失败
Ionic build android 失败 - 无法解析配置“:_debugCompile”的所有依赖项