0

我正在使用 nativescript 创建一个应用程序。我已经添加了android平台如下

tns platform add android --sdk 22

因为我想为 API 级别 22 构建。

当我构建应用程序时,我收到以下错误。

        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
"Install Android SDK Platform 25" failed.

它从哪里获得 SDK 平台 25?我该如何克服呢?

另外,请提及如何为特定的 API 级别构建。

谢谢。

4

1 回答 1

1

简洁版本:

添加一个平台 -tns platform add android 在构建期间声明所需的 compileSdk -tns run android --compileSdk 22tns build android --compileSdk 22

更长的版本:

将 android 平台添加到 {N} 项目只会创建 android-studio-project 结构。当调用 gradle 脚本时,{N} CLI 会将 compileSdk、targetSdk、支持库版本标志传递给构建。

所以做tns platform addandroid就足以引导项目结构了。

在构建/运行您的项目时:默认情况下,CLI 会读取 $ANDROID_HOME/platforms 目录以查看安装了哪些 Android API 级别的 sdk,并将使用最新的支持版本。假设我有 android-22、android-23、android-25、android-26,该项目将针对 compileSdk 26 构建。如果您最新安装的是 android-22,那么这将是您的 android 项目的版本建反对。

但是,如果您安装了其他平台级别怎么办?好吧,当构建/运行一个 android 项目时,您可以提供 --compileSdk 标志,后跟您想要的版本,并且 gradle 构建会选择它。

tns run android --compileSdk我假设你应该运行 22 以获得所需的结果。

或者,您可以通过在 app/App_Resources/Android/app.gradle 脚本中编写 gradle 配置来覆盖任何或至少大部分 Android 设置,其中更改是持久的。

从https://discourse.nativescript.org/t/nativescript-building-for-a-specific-api-level-android/2140/2?u=pete.k复制响应

于 2017-08-04T07:28:50.880 回答