0

我需要将 Android 项目的目标 SDK 版本设置为 API 14。但我没有可用于编译项目的相同版本。我知道可以使用不同的版本编译该项目,但我需要知道它是否会导致任何问题。

我收到错误“Android 清单文件丢失”,即使它存在。当我清理然后构建项目时,它被编译但应用程序崩溃了。我在这里做错了什么?

这些是我的设置。 在此处输入图像描述

4

3 回答 3

1

使用更高版本编译时应该不会引入任何问题,甚至鼓励这样做。您可以在这篇Medium 文章中找到有关该主题的更多信息。

我还想提请您注意以下博客,其中包含有关近期 SDK 定位的一些重要信息。

不幸的是,我不使用 Eclipse,所以我担心无法就此事提供任何经过验证的见解。然而,到目前为止我发现的建议包括:

  • 清理项目
  • 去掉 ö、ë 等字符。
  • 删除文件并重新创建

清单问题可能是由于一遍又一遍地创建具有相同名称的项目。然而 clean -> build the project 帮助我摆脱了它。

是的。Android 编译版本可以高于目标版本。Android 编译版本和目标版本不必相同。

于 2018-04-01T21:26:12.067 回答
0

compileSdkVersion
compileSdkVersion 是应用程序编译所针对的 API 版本。这意味着您可以使用该 API 版本中包含的 Android API 功能(显然,也可以使用所有以前的版本)。如果您尝试使用 API 16 功能但将 compileSdkVersion 设置为 15,您将收到编译错误。如果您将 compileSdkVersion 设置为 16,只要您的应用程序的执行路径不尝试调用特定于 API 16 的任何 API,您仍然可以在 API 15 设备上运行该应用程序。

targetSdkVersion
targetSdkVersion 与您的应用程序的编译方式或您可以使用的 API 无关。targetSdkVersion 应该表明您已经在您指定的版本上测试了您的应用程序(可能达到并包括)。这更像是您向 Android 操作系统提供的认证或签字,作为它应该如何处理您的应用程序在操作系统功能方面的提示。

至于清单错误,您可以尝试(如果您使用的是 android studio)单击 File > Invalidate Caches / Restart 或强制 gradle sync

于 2018-04-01T21:04:13.557 回答
0

谢谢您的回答。

我认为清单问题是由于一遍又一遍地创建一个具有相同名称的项目。然而 clean -> build the project 帮助我摆脱了它。

是的。Android 编译版本可以高于目标版本。这两个不必相同。

于 2018-04-02T06:52:55.247 回答