我希望我的应用程序可以在Android 9上运行。目前,它既可以定位并编译到SDK26。将目标和编译版本从26升级到28时,似乎没有什么改变。它在我自己的手机(22)和仿真器(25岁)上运行相同,但现在也可以在28岁上运行。除了目标版本和编译版本外,我没有更改任何一行代码。
我的应用程序没有使用任何需要更改的内容吗?这是一个非常简单的SQLite应用程序,甚至不使用互联网。
如果我想让我的应用程序在android 9上运行,我应该定位到28,还是编译到28,或者两者都定位?
答案 0 :(得分:1)
如果您不更新您的 compileSdkVersion ,则期望您的应用程序将向前兼容。换句话说,它应该在您的 minSDKVersion 支持的所有版本上以相同的方式运行/运行。
例如,如果您的 minSDKVersion 是API 19,则您的应用将在Android 4.4,Android 8,Android 9上运行,并且有望在Android 10上运行。
更新您的 compileSdkVersion 是一个很好的方法,因为每个新版本都需要一年的开发时间-预计它会更稳定并且可以使用更新的API /功能。有时,这样做意味着您必须更改某些行为(有关更多信息,请参见官方文档上的here)。
如果您希望区分 compileSdkVersion 和 targetSdkVersion -您可以在另一个StackOverflow thread上找到一个很好的答案。
简而言之:
compileSdkVersion是应用程序针对其进行编译的API版本。
targetSdkVersion
targetSdkVersion应该表明您已经在指定的版本(大概包括以下)上测试了您的应用程序。