0

我正在使用nativescript创建应用程序。我有加Android平台如下nativescript“安装Android SDK平台25”失败

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级别构建。

谢谢。

回答

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 add android足以引导项目结构。

构建/运行项目时:默认情况下,CLI读取$ ANDROID_HOME/platforms目录以查看安装了哪些Android API级别的sdks,并且可以使用最新的受支持版本。说如果我有android-22,android-23,android-25,android-26,这个项目将被编译为compileSdk 26.如果你最近安装的是android-22,那么这将是你的android项目的版本建立反对。

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

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