cocos creator 3.7.2 出anroid 配置 记录 sdk:min_version:19 build_version:30.0.2 target_sdk_version:31 compile_version:31 android studio:4.2.2 jdk: 1.8

ndk: 21

compileSdkVersion:

compileSdkVersion是你告诉Gradle用哪个版本的Android SDK来编译你的应用的方式。使用新的Android SDK是使用该级别添加的任何新api的必要条件。 应该强调的是,更改compileSdkVersion并不会改变运行时行为。当改变你的compileSdkVersion时,新的编译器警告/错误可能会出现,你的compileSdkVersion不包括在你的APK中:它纯粹是在编译时使用的。(你真的应该修复这些警告——它们是有原因的!) 因此,强烈建议您始终使用最新的SDK进行编译。您将获得对现有代码进行新的编译检查的所有好处,避免新弃用的api,并准备好使用新的api。 请注意,如果您使用支持库,使用最新的SDK进行编译是使用最新支持库版本的必要条件。例如,要使用23.1.1支持库,你的compileSdkVersion必须至少为23(前面的数字需要匹配!)通常,支持库的新版本与新平台版本一起发布,为新添加的api和新功能提供兼容性。

minSdkVersion:

如果compilesdkversion设置了最新的api, minSdkVersion是你的应用程序的下限。minSdkVersion是谷歌Play Store用来确定应用程序可以安装在哪个用户设备上的信号之一。 当您使用minSdkVersion以上的任何API时发出警告,帮助您避免尝试调用不存在的API的运行时问题。当仅在较新的平台版本上使用api时,在运行时检查系统版本是一种常见的技术。 请记住,你使用的库,如任何支持库或b谷歌Play服务,可能有自己的minSdkVersion -你的应用程序的minSdkVersion必须至少与你的依赖的minSdkVersion一样高-如果你有需要4,7和9的库,你的minSdkVersion必须至少为9。在极少数情况下,你想继续使用一个比你的应用程序minSdkVersion更高的库(并处理所有边缘情况/确保库只在较新的平台版本上使用),你可以使用工具:overrideLibrary标记,但要确保彻底测试! 在决定minSdkVersion时,你应该考虑仪表板上的统计数据,它可以让你看到在过去7天内访问谷歌Play商店的所有设备——这是你在谷歌Play上投放应用时的潜在受众。为了确保最佳体验,是否值得花费开发和测试时间来支持额外3%的设备,这最终是商业决策。 当然,如果一个新的API是你整个应用的关键,那么minsdkversion的讨论就容易多了。请记住,即使是14亿部设备中的0.7%也是很多设备。

targetSdkVersion

然而,三者中最有趣的是targetSdkVersion。targetSdkVersion是Android提供向前兼容性的主要方式,除非targetSdkVersion更新,否则不会应用行为更改。这允许你在处理行为改变之前使用新的api(就像你更新了compileSdkVersion一样,对吧?) targetSdkVersion所暗示的许多行为变化都直接记录在VERSION_CODES中,但所有的细节也在每个版本的平台高亮中列出,在API级别表中很好地链接在一起。 例如,Android 6.0改变了如何瞄准API 23将您的应用程序转换为运行时权限模型,Android 4.4行为变化详细说明了瞄准API 19或更高版本如何改变set()和setRepeating()的工作方式。 由于一些行为变化对用户来说非常明显(菜单按钮的弃用,运行时权限等),更新到针对最新sdk的目标应该是每个应用程序的高优先级。这并不意味着你必须使用引入的每个新功能,也不应该在没有测试的情况下盲目更新你的targetSdkVersion -请,请在更新你的targetSdkVersion之前进行测试!你的用户会感谢你的。

Gradle and SDK versions

所以设置正确的compileSdkVersion, minSdkVersion和targetSdkVersion是很重要的。正如你想象的那样,在Gradle Android Studio的世界里,这些值通过包含在你的模块构建中被集成到工具系统中。gradle文件(也可以通过Android Studio中的Project Structure选项获得): android { compileSdkVersion 31 buildToolsVersion “30.0.2” defaultConfig { applicationId “com.example.checkyourtargetsdk" minSdkVersion 19 targetSdkVersion 31 versionCode 1 versionName “1.0” } } compilesdkversion,构建工具版本一起的android设置。其他软件略有不同,因为它们是在构建变量级别声明的——defaultConfig是所有构建变量的基础,你在哪里为这些变量设置默认值,但你可以想象一个更复杂的系统,例如,你的应用程序的特定版本有不同的minSdkVersion。 minsdkversion和targetSdkVersion也不同于compileSdkVersion,因为它们包含在你的最终APK中-如果你要查看生成的AndroidManifest.xml,你会看到一个标签,如:

minSdkVersion <= targetSdkVersion <= compileSdkVersion

minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)

Android Studio 新Logcat 使用

过滤语法 package:mine 默认语法,官方原版解释:PIDs for the local app project,不太理解这个解释,不过根据使用,应该就是当前logcat窗口所在项目的log

package:my-package-ID 也就是根据包名过滤

tag:my-tag 根据tag进行过滤

level:ERROR 根据日志等级进行过滤

-tag:exclude-this-tag 在前面加了个‘-’,排除指定的TAG

tag~:regex-tag 在后面加了个’~',支持正则过滤

-tag~:exclude-this-regex-tag 这个自然就是支持正则过滤排除指定TAG

-package:exclude-this-package 同上

package~:regex-package 同上

-package~:exclude-this-regex-package 同上

V:表示冗余信息。

D:表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试。

I:表示一般消息。

W:表示警告信息。

E:表示错误信息,比如可能导致程序崩溃的异常。

level:VERBOSE:显示包括VERBOSE在内以上级别的日志,也就是显示所有级别的日志。

level:DEBUG:显示包括DEBUG在内以上级别的日志,也就是显示DEBUG、INFO、WARN、ERROR级别的日志。

level:INFO:显示包括INFO在内以上级别的日志,也就是显示INFO、WARN、ERROR级别的日志。

level:WARN:显示包括WARN在内以上级别的日志,也就是显示WARN、ERROR级别的日志。

level:ERROR:显示包括ERROR在内以上级别的日志,也就是只显示ERROR级别的日志。

退回旧版

Settings-> Experimental -> [x] Enable new Logcat tool window 取消选择 -> 重启 Android Studio

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: