当前位置: 首页 > 知识库问答 >
问题:

如何更改Android应用程序的定义API版本?

柯耀
2023-03-14

我绝对是Android开发的新手,我有以下问题,试图构建一个我从互联网上下载的示例项目。

当我尝试构建它时,我得到以下错误html" target="_blank">消息:

Error:Cause: failed to find target with hash string 'android-18' in: C:\Users\Andrea\AppData\Local\Android\sdk
<a href="install.android.platform">Install missing platform(s) and sync project</a>

所以我在网上搜索,我找到了这个SO链接: Android Studio-未能找到目标android-18

好吧,我来谈谈工具

那么这意味着什么呢?这意味着我在Android框架上安装了不同的版本?(作为一个框架,它是SDK还是什么?)

那么,我可以在Android Studio上安装不同版本的SDK吗?

我认为API级别必须以某种方式定义到加载的应用程序中。我如何指定此应用程序不使用API级别18,而是使用已安装的API级别23?我认为这不是一个问题,因为我安装了一个最新版本,必须支持最旧版本的所有内容,是吗?

共有3个答案

慕项明
2023-03-14

我喜欢工具

那么这意味着什么?意味着我安装了不同版本的Android框架?

是的,你有一个更新版本的SDK。

在Android Studio上,我可以安装不同版本的SDK吗?

是的,这就是SDK管理器的设计目的

我认为API级别必须以某种方式定义到加载的应用程序中。我如何指定此应用程序不使用API级别18,而是使用已安装的API级别23?

它是定义的。检查应用程序模块中的Androidanifest.xmlbuild.gradle文件(不在项目根目录中)。您应该会看到minSdkTarget etSdk和/或compileSdk的组合,后面有一个数字。由于您收到了关于缺少SDK 18的错误,因此该数字将是18

我认为这不是一个问题,因为我安装了一个最新版本,必须支持最旧版本的所有内容,是吗?

支持库与核心SDK是分开的。您不能在版本低于23的设备上运行SDK 23特定的代码,因此,为了安全起见,建议您从下载SDK 18开始,然后运行它,然后尝试更新compileSdkVersion编号。

弘阳德
2023-03-14

>

您可以从SDK Manager获取API Level 18

裴哲
2023-03-14

我会给你解释一下这个问题,然后给你提供解决方案

您正面临这个问题,因为您的项目针对的是API级别18来编译项目。所以你必须安装API 18 SDK来编译这个项目。

这就是为什么IDE抱怨说,

Install missing platform(s) and sync project

SDK不是框架。Android框架是一样的,但是随着不同的API级别,新的更新被推送到SDK,最新的是API 23,Marshmallow。

您不应该下载旧的SDK来编译项目。

始终尝试使用可用的最新SDK。所以,直接进入你的构建。gradle文件或AndroidManifest。xml文件,并将compileSdkVersion更改为23。

 类似资料:
  • 当我尝试将我的新flutter应用程序上传到Google play时,会出现一条消息,告诉我该应用程序应该升级到API sdk 29。我的应用程序的目标是sdk版本28。我如何将目标sdk从28转换为29。有没有其他不升级的解决方案?

  • 问题内容: 我想更改应用程序的语言,在API 26之前可以正常使用。 对于api> 25我放在了前面,但没有任何变化。 该文档不解释太多关于这一点。 问题答案: 我遇到了同样的问题:自Android 8.0+起,我的应用程序的某些部分不再更改其语言。更新应用程序和活动上下文对我有帮助。这是MainActivity函数的示例:

  • 我刚刚完成了我的第一个android应用程序,并生成了一个apk文件在我的手机上测试。然后我意识到我在制作项目时留下了默认的“My Application”名称。所以安装的应用程序名为“我的应用程序”。如何更改应用程序的名称?

  • 问题内容: 今天在这里提出了一个问题,我没有明显的答案。 假设我们串联并缩小所有资源文件(CSS和Javascript),并在“母版页”中声明它们。 在多页应用程序上,如果CSS文件发生更改,它将在下一次整页加载时重新充电。 在单页应用程序上,用户可以继续工作数天,并且永远不会为声明CSS文件的主页充值。在发出Ctrl-F5之前,用户永远看不到更改。 我确定有人已经想到了这一点,并且有经验可以分享

  • 我在一个多模块Kotlin项目中使用模块来管理依赖定义和版本。该模块使用kotlin-dsl,如build.gradle.kts所示: 替代声明: Gradle Kotlin DSL:在唯一的地方定义Kotlin版本 Kotlin版本和Gradle Kotlin DSL 示例项目:multi-kotlin-project-with-buildsrc

  • 我读到,如果我们想在google play中更新应用程序,版本代码应该高于之前的apk文件。我有一个版本代码为20,版本名为1.0的应用程序。所以要更新应用程序,我应该如何增加版本代码?应该增加10吗?还是一个就够了?也就是说,版本代码从20到30还是版本代码从20到21?