如何用最近(2020+)版本的Android和Gradle更改Android ( Studio )项目中的最小SDK?
在创建一个新的Android项目期间,向导要求获得所需的最小SDK。
由于向导生成大量样板文件和代码,所以我假设样板代码是根据所选的最小SDK量身定做的。我的第一个目标是生成一个现代的、精益的、向前兼容的(Kotlin)应用程序,所以我选择了API 31 (最近一次是2021年12月29日的非beta版)。然而,一旦应用程序(这是简单的)工作,我想降低最低的SDK,以包括尽可能多的设备(不添加遗留依赖关系,代码等)。这是一种正确的方式来思考选择最小SDK和样板代码之间的关系吗?
在较早版本(2013年)的Android (和Gradle)上存在一些问题,例如here,但这些问题在Android和Gradle的现代版本中不起作用(我只有一个build.gradle
文件,它没有提到任何SDK,这会导致错误)。
编辑:如下所示,查看文件夹树的图像。
发布于 2022-01-03 10:46:55
基于Ricky Mo的评论。
问题是默认的是"Project“,它包含一个定义Kotlin版本和Android插件版本的build.gradle
文件。
定义build.gradle
的minSDK文件可以在app
文件夹中找到(截图)。
或者,您可以从“项目视图”切换到Android。从下拉菜单中打开,当你点击“项目”(截图,突出显示)。
发布于 2021-12-29 09:45:43
我相信您所需要做的就是设置minSdkVersion
,就像this答案提供的那样。根据你将要做的事情,你可能遇到的问题会有很大的不同,但大多数情况下应该是可以的。当然,越低的minSdkVersion
,就会遇到更多的问题,但是至少对23版本来说应该是可以的。
然而,通常在开始时选择minSdkVersion
。您可能应该将其设置为21 (涵盖98%的设备)并从那里开始(行业标准目前为23,覆盖了94.1%的设备)。
您不应该担心应用程序不兼容,因为更改通常是非常小的,而且有一些方法可以轻松地支持不同的版本,而且minSdkVersion
甚至不影响前向兼容性。此外,支持多个版本并不能使应用程序的最终尺寸变得更大。没有为特定版本调用的代码在构建时会被删除,所以您不必担心因为SDK支持较低而使应用程序不倾斜。有一些构建时间的性能损失,但对于一个简单的应用程序,这是不明显的。如果有一个SDK版本太低的阻止程序,那么提高它要比降低它容易。
这里我要说的是,从一开始就很容易设置一个低minSdkVersion
。降低该版本时可能遇到的问题数量可能不值得,而且比从一开始就支持低SDK版本更难修复。这在很大程度上取决于实际的代码。
https://stackoverflow.com/questions/70517020
复制相似问题