Android编译版本应该与Eclipse中的目标版本相同吗?

时间:2018-04-01 20:44:18

标签: android compiler-errors android-manifest android-sdk-2.1 target-sdk

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

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

这些是我的设置。 Template literals

3 个答案:

答案 0 :(得分:1)

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

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

不幸的是我不使用Eclipse,所以我担心无法提供任何经过验证的洞察力。但是到目前为止我找到的建议包括:

  • 清洁项目
  • 摆脱ö,ë等字符
  • 删除文件并重新创建

清单问题可能是由于反复创建一个具有相同名称的项目。但是干净 - >构建项目帮助我摆脱它。

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

答案 1 :(得分: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)点击文件>使高速缓存/重新启动无效或强制执行gradle sync

答案 2 :(得分:0)

感谢您的回答。

我认为清单问题是由于一遍又一遍地创建一个具有相同名称的项目。但是干净 - >构建项目帮助我摆脱它。

呀。 Android编译版可以高​​于目标版本。这两者不一定相同。