首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果使用谷歌Play服务,则无法在没有版本冲突的情况下使用最新的compileSdkVersion和targetSdkVersion

谷歌Play服务是谷歌提供的一组API和服务,用于在Android设备上提供各种功能和功能。它包括广告、地图、位置、身份验证、云存储等功能。开发人员可以使用这些服务来增强他们的应用程序,并提供更好的用户体验。

compileSdkVersion和targetSdkVersion是Android开发中的两个重要参数。compileSdkVersion指定了应用程序编译时使用的Android SDK版本,而targetSdkVersion指定了应用程序在运行时所针对的Android SDK版本。

然而,由于谷歌Play服务的更新速度较快,它的版本可能会与当前使用的compileSdkVersion和targetSdkVersion存在冲突。这意味着,如果你想使用最新的compileSdkVersion和targetSdkVersion,可能会导致与谷歌Play服务版本不兼容的问题。

为了解决这个问题,你可以采取以下几种方法:

  1. 降低compileSdkVersion和targetSdkVersion的版本:如果你确实需要使用最新的compileSdkVersion和targetSdkVersion,但又想使用谷歌Play服务,你可以降低这两个参数的版本,以与谷歌Play服务兼容。然而,这可能会限制你使用一些最新的Android功能。
  2. 使用谷歌Play服务的兼容版本:谷歌提供了一些兼容版本的谷歌Play服务,可以与较旧的compileSdkVersion和targetSdkVersion兼容。你可以根据你的需求选择适当的兼容版本,并将其集成到你的应用程序中。
  3. 使用条件编译:你可以使用条件编译来根据不同的compileSdkVersion和targetSdkVersion选择不同的代码路径。这样,你可以在不同的版本之间切换,并根据需要使用谷歌Play服务。

总之,使用谷歌Play服务可能会导致与最新的compileSdkVersion和targetSdkVersion存在冲突的问题。为了解决这个问题,你可以降低compileSdkVersion和targetSdkVersion的版本,使用谷歌Play服务的兼容版本,或者使用条件编译来处理不同的版本。具体的解决方案应根据你的应用程序需求和谷歌Play服务的版本选择而定。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云原生应用引擎:https://cloud.tencent.com/product/tcaplusdb
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器运维:https://cloud.tencent.com/product/cvm
  • 腾讯云网络安全:https://cloud.tencent.com/product/ddos
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网:https://cloud.tencent.com/product/iot
  • 腾讯云存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/3d
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AS中minSdkVersion、compileSdkVersiontargetSdkVersion、buildTools

注意,如果使用 Support Library ,那么使用最新发布 Support Library 就需要使用最新 SDK 编译。...如果较高版本系统上才使用某些 API,通常使用运行时检查系统版本方式解决。 注意:你所使用库,如 Support Library,可能有他们自己 minSdkVersion 。...少数情况下,你仍然想用一个比你应用 minSdkVersion 还高库(处理所有的边缘情况,确保它只较新平台上使用),你可以使用 tools:overrideLibrary 标记,但请做彻底测试...targetSdkVersion 是 Android 提供向前兼容主要依据,应用 targetSdkVersion 没有更新之前系统不会应用最新行为变化。...如果targetSdkVersion提升到了23,如果代码没有进行运行时权限判断会直接崩溃。

87120

关于2020最新Kali无法使用arpspoof命令解决(包都已经安装情况下)

第一步 可以参照 这个 ———>参考地址——< 如果你按照上面的步骤安装了相应包,还是没有相应命令,那多半就是路径问题了 第二步 [root@server ~]# echo $PATH /usr.../local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 如果输出东西和上面不一样,输入下面的代码,将对应路径加入环境变量...sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin" 这下再试一下就OK啦 以上只能临时修改,永久修改变量需要配置profile 使用...vim对profile文件进行修改 修改对应路径 将if判断语句里面的PATH改成第二步环境变量 source /etc/profile 更新一下 最后就永久都有啦 版权声明:本文内容由互联网用户自发贡献...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1K10
  • 笔记——Gradle入门(十三)

    <= compileSdkVersion app当前运行Android版本API取决于安卓设备版本targetSdkVersion版本比较 ,如果安卓设备>=targetSdkVersion版本当前...app运行版本targetSdkVersion如果安卓设备<targetSdkVersion版本当前app运行版本为安卓设备系统版本。...选择最新API版本,在编译时候检查代码错误警告,提示开发者修改优化,V4,V7包,必须compileSdkVersion版本相匹配。...尽量设置compileSdkVersion=targetSdkVersion,且是最新API版本。 minSdkVersion:app能够运行最小API版本。...如果我们工程中没有gradle,AndroidStudio会根据这个url去下载对应版本gradle 3、implementation、api、compile区别: apicompile关键字作用效果是一样

    68930

    【错误记录】Kotlin 编译报错 ( Class ‘Xxx‘ is not abstract and does not implement abstract member )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 上架要求 Android 编译版本 目标版本都要高于 30 才可以上传 ; 将 Android 编译版本... 目标版本 都升级为 30 之后 , Kotlin 编译检查变得更严格 , 之前不规范代码需要逐个修改 ; 将编译版本 compileSdkVersion 目标版本 targetSdkVersion...编译版本 compileSdkVersion 目标版本 targetSdkVersion 都为 28 时 , 编译不报上述错误 ; 改了下 Android 编译版本号 , 报了 286 个错误..., format: Int, width: Int, height: Int) { 可以看到第一个参数是可空参数 , 这个问号总不会是我打上去吧 ; 这 Kotlin 相关 前后冲突操作 , Android...官方没少干这事 ; 解决方案 : Kotlin 中 , 将所有的重写函数可空参数 , 都改为非空参数 , 即删除参数后面的问号 “?”

    2.1K20

    满足 Google Play 目标 API 等级 (targetSdkLevel) 要求

    Google Play 服务 SDK; ·· Firebase Cloud Messaging documentation 使用 Firebase Cloud Messaging 时,消息投递受限于后台执行限制...检查并更新您 SDK 库 请确保您使用三方 SDK 依赖项支持 API 26:部分 ADK 供应商会在发布说明中写明是否支持;其它供应商须要进一步调查。...您还须要验证您正在使用 Android 支持库可能存在任何限制。以往一样,您必须确保应用中 compileSdkVersion 与 Android 支持库主要版本能够顺利兼容。...我们推荐您选择小于或等于 Support Library 主要版本 targetSdkVersion ,并建议您升级到近期发布兼容 Support Library,从而能够使用最新版本兼容性特性错误修正功能...查看更多指导文档链接 测试您应用 更新完应用 API 等级功能后,您须要测试一些核心用例。下文列举几条建议并没有涵盖所有情况,但希望能给您提供指导作用。

    8.7K30

    【错误记录】Kotlin 编译报错 ( Not nullable value required to call an ‘iterator()‘ method on for-loop range )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 上架要求 Android 编译版本 目标版本都要高于 30 才可以上传 ; 将 Android 编译版本... 目标版本 都升级为 30 之后 , Kotlin 编译检查变得更严格 , 之前不规范代码需要逐个修改 ; 将编译版本 compileSdkVersion 目标版本 targetSdkVersion...编译版本 compileSdkVersion 目标版本 targetSdkVersion 都为 28 时 , 编译不报上述错误 ; 改了下 Android 编译版本号 , 报了 286 个错误..., 今天逐个解决上述编译错误 ; 二、解决方案 ---- 错误分析 : 使用 ForEach 遍历可空类型集合时 , 会出现此类报错 ; 因为被遍历集合 files 有可能为空 , 由此可能会产生崩溃...{ } 方案二 : 遍历 files.orEmpty() 集合 , 如果 files 为空 , files.orEmpty() 会返回空集合 ; 如果 files 不为空 , files.orEmpty

    1.2K20

    【错误记录】Kotlin 编译报错 ( Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable ... )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 上架要求 Android 编译版本 目标版本都要高于 30 才可以上传 ; 将 Android 编译版本... 目标版本 都升级为 30 之后 , Kotlin 编译检查变得更严格 , 之前不规范代码需要逐个修改 ; 将编译版本 compileSdkVersion 目标版本 targetSdkVersion... 编译版本 compileSdkVersion 目标版本 targetSdkVersion 都为 28 时 , 编译不报上述错误 ; 改了下 Android 编译版本号 , 报了 286...= window.attributes val window 没有声明变量类型 , 使用自动推断确定变量类型 , 而系统自动推断为 Window!...类型 , 这是可空类型 ; 如果调用可空类型成员方法 或 成员变量 , 必须使用 ? 或者 !!

    71220

    【错误记录】Kotlin 编译报错 ( Smart cast to ‘Xxx‘ is impossible, because ‘xxx‘ is a mutable property ... )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 上架要求 Android 编译版本 目标版本都要高于 30 才可以上传 ; 将 Android 编译版本... 目标版本 都升级为 30 之后 , Kotlin 编译检查变得更严格 , 之前不规范代码需要逐个修改 ; 将编译版本 compileSdkVersion 目标版本 targetSdkVersion...编译版本 compileSdkVersion 目标版本 targetSdkVersion 都为 28 时 , 编译不报上述错误 ; 改了下 Android 编译版本号 , 报了 286 个错误..., 今天逐个解决上述编译错误 ; 二、解决方案 ---- 错误分析 : 该错误报错位置是调用时 , 方法参数中 , 应该传入非空参数位置 , 传入了可空参数 ; 此类型错误与 Type mismatch...) 解决方案 : Canvas 绘制位图方法是 Android 系统方法 , 方法无法修改 , 只能修改参数 ; 传入参数后 , 添加 !!

    2.4K20

    Android P Beta 3 现已发布!

    如果没有支持最新系统实体设备,您可以 Android 模拟器上使用 Android Virtual Device 作为测试环境。...如果应用已经使用 API 26+,且一直致力于遵守 Google Play 最新安全性能政策,那么升级至 API 28 将会十分轻松。不过请记得确保您应用支持所有相关行为变更。...可能情况下,请从 Android SDK 或 NDK 中寻找相应公开替代接口。如果所有公开 API 均无法满足您需求,请点击这里告知我们。...想要使用新 API 进行构建,您只需将官方版 API 28 SDK 工具下载到 Android Studio 3.1,或使用最新 Android Studio 3.2 版本。...随后将您项目的 compileSdkVersion targetSdkVersion 升级到 API 28。 您可以观看这支视频快速了解 Android P 开发者预览版新亮点。

    77340

    Android中compileSdkVersion、buildToolsVersion、minSdkVersiontargetSdkVersion含义作用

    为20app运行在系统版本号高于20手机系统中,app所执行版本api版本可能不一样了,但是安卓为了兼容系统层会读取当前应用targetSdkVersion,当targetSdkVersion...一般来说compileSdkVersion设置为最新SDK版本比较好,compileSdkVersion作用就是可以让我们在编码过程中编译器以最新SDKapi去要求我们编码,它会有最新一些提醒异常...,compileSdkVersion版本调高还有一个好处就是当我们项目有其他第三方sdk或者supperLib时compileSdkVersion低于这些库编译版本时就无法编译打包。...targetSdkVersion也是一样设置为最新版本最好,因为不需要让系统对app进行前向兼容了,同时也可以使用版本一些新特性。...像我们开发过程中如果需要用到高版本api但是我们又不想去改动项目中代码时可以把compileSdkVersion版本调到新版本targetSdkVersion保持不变就可以,编译版本让你可以调用高版本

    3.3K20

    移动开发界囚徒现身说法,审查困境与控制权探讨

    Play Store 应用在 Play Store 上架流程也基本没有问题。当然,因为这是个遗留应用版本更新,发布间隔比较长,所以我得按谷歌指示填写一些调查问卷。...我寻思着这也太顺利了,却无论如何没有想到大麻烦会在下班之后等着我。 麻烦来了 大概是晚上 21:30 左右,手机上亮起客户发来消息,说使用最新应用版本会在登录账户时遇到问题。...这个问题会导致应用在登录后立即崩溃,而使用较旧 Android 版本则不受影响。我们最大疏忽,就是没有模拟测试时使用最新 Android 版本,所以没能及时问题隐患。...毕竟 Google Play Store 不支持版本回滚,如果不立即着手解决,用户会逐渐把这个最新版本应用安装到手机上,然后把我们公司彻底逼疯。...多年来,我个人一直很反感移动应用开发,理由也跟这类文章中说法相同——一旦决定开发移动应用,我们实际上就是把产品 / 服务控制权交给了第三方,即使出了问题也无法修复。

    13010

    【错误记录】Kotlin 编译报错 ( Type mismatch: inferred type is String? but String was expected )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 上架要求 Android 编译版本 目标版本都要高于 30 才可以上传 ; 将 Android 编译版本... 目标版本 都升级为 30 之后 , Kotlin 编译检查变得更严格 , 之前不规范代码需要逐个修改 ; 将编译版本 compileSdkVersion 目标版本 targetSdkVersion...but String was expected 编译版本 compileSdkVersion 目标版本 targetSdkVersion 都为 28 时 , 编译不报上述错误 ; 改了下...Android 编译版本号 , 报了 286 个错误 , 今天逐个解决上述编译错误 ; 二、解决方案 ---- 错误分析 : 上述问题是方法中传入一个参数 , 导致上述编译报错 ; 方法参数只接受非空类型..., 不能接受可空参数 ; 传入数据没有设置具体数据类型 , 被自动推断为 String!

    2.4K20

    Android 8.1 开发者预览版 —— 为 ML 机器学习做好准备 Oreo 升级版

    敬请期待 TensorFlow Lite 公告。 Autofill 升级:我们一直努力扩展 Autofill 框架,改善密钥管理其他 Autofill 服务使用体验。...如果没有 Pixel 或者 Nexus 设备,可以通过 Android 8.1 虚拟器进行测试。...如果应用支持 Camera2 API 并且您手边有 Pixel 2 设备,您可以尝试使用 Pixel Visual Core 一个早期版本。...-0-0) 可以将您项目的 compileSdkVersion 升级到 API 27 版本,从而 Android O APIs 官方发布版本兼容。...确保 App 更新以后能够 Android 8.1 其他旧版本上运行。我们建议开发者使用 beta 测试功能,从部分用户群中先获取反馈,然后再进行多级发布。期待见到您更新!

    1.3K40

    机器学习为核心,DeepMind助力谷歌开发安卓 9「Pie」今日上线

    配备两个前置摄像头或两个后置摄像头设备上,你可以实现单个摄像头无法实现创新功能,例如无缝变焦、散景立体视觉。API 还允许你调用逻辑或融合摄像机流,该流可以两个或多个摄像机之间自动切换。...支持设备上,app 可以使用 OMAPI API 来访问安全组件(SE),以允许智能卡支付其它安全服务。...正如去年谷歌所宣布,Google Play 将在 2018 年 11 月让所有 app 更新目标 Android Oreo(targetSdkVersion 26 或更高)。...最开始,你需要下载官方 API 28 SDK、最新工具模拟器映像到 Android Studio 3.1 中,或者使用 Android Studio 3.2 最新版本。...然后更新你项目的 compileSdkVersion targetSdkVersion 到 API 28。当你改变目标时,确保你 app 支持所有合适行为变化。

    2K10

    Android 11 开发者常见问题 | FAQ・第一期

    灰名单其他 jar 包没有关系。无论在任何渠道,目前调用浅灰名单没有问题,但无法保证未来版本浅灰名单中非 SDK 接口是否会移至黑名单,所以我们建议浅灰名单中非 SDK 接口尽量减少调用。...如果您要启动新服务或启动过其他应用,如果应用不可以看到其他应用,是无法启动其他应用组件。...如果应用使用了黑名单中接口,运行时可能会有异常从而导致应用无法正常使用,那么 Google Play 是会拒绝上架。...从这个角度来看,我们会尽量把行为变更放在 targetSdkVersion 升级之后。如果应用还没有升级到最新版本 targetSdkVersion,就不会受到行为变更影响。...GitHub 中我们提供了相应示例,通过参考示例代码可以有更完整了解: github.com/android/use… 目前只有 Andorid 11 中可以使用这个最新 API,版本无法使用

    2.1K40

    Android 9 Pie 兼容性常见问题及注意事项

    应用不应该再使用 org.apache.http.legacy 库,如果实在必须,可以将它打包进自己 APK,同时改名以防止与运行时版本冲突。...空闲应用无法访问麦克风、摄像头传感器 为了更好地保证隐私,Android P 限制所有处于空闲状态应用对麦克风、摄像头所有 SensorManager 传感器访问。...大多数情况下,这些限制不会为现有应用带来新问题,但我们仍然建议您从应用中移除此类传感器请求。...前台服务权限 应用 target 到 P 版本后,使用前台服务时必须申请 FOREGROUND_SERVICE 权限。...Google Play targetSdkVersion 政策 为了推动应用获得 Android 新版本提供安全性能提升,Google Play 应用市场要求其上应用必须: 从 2018 年 8

    1.4K20

    《Android编程权威指南》之Android SDK版本与兼容

    打开应用模块下 build.gradle文件,可以看到 compileSdkVersion 、minSdkVersion targetSdkVersion demo SDK 最低版本 (minSdkVersion...SDK 目标版本targetSdkVersion) 一般情况,目标版本最新发布Android版本,为了告知Android,应用是为哪个API级别设计。...SDK 编译版本compileSdkVersion) SDK最低版本目标版本会通知给操作系统,而SDK编译版本只是你编译器之间私有信息。它不会出现在manifest配置文件里。...编译目标的最佳选择为最新API级别。 安全添加新版本 API 中代码 由于一般应用SDK最低版本编译版本差异较大,如果版本系统上,调用了新版本代码,那应用就会崩溃。...还有 AndroidX 库文件就是之前支持库一些修改版本。只要有可能,建议都要用。虽然现在还不够完善,可是就是会一步步完善如果是刚好碰到没有兼容上自己项目的问题,就乖乖写上判断代码即可。

    1.6K20

    详解Android使用Gradle统一配置依赖管理

    ,build 脚本使用 Groovy 编写 而在我们 Android studio 中默认就是使用 Gradle 来构建管理我们工程我们工程构建过程中通常会创建很多个 Module 来对我们工程进行功能以及业务上解耦...(也就是模块化开发),这时候可能就会存在一个问题,就是每个 Module 以及 Module 中一些公用库依赖可能会出现版本不统一问题,包括使用编译版本,SDK 版本等,导致不能打包,这里可以使用...build.gradle 是:apply plugin:com.android.library 其它就是版本不一样了,要素是一样,这里就是我们今天着重要来介绍,这里我们看到编译 SDK 版本编译...Tools 版本以及支持 SDK 最低版本版本号都是不一样,这里我们就需要来统一,而我们总不能每次都来手动配置,当 Module 增多时容易出错 解决办法: 方法一 项目的根目录...Module build.gradle 中,以后每个 Module 中引入都是这样,实现了方法一 同样功能,个人感觉第二种更好一点,大家自己选择吧,毕竟各有所好,好了,到这里就给大家分享完了项目中使用

    2.2K40

    Android Gradle依赖管理、去除重复依赖、忽略方式

    app 中 3、库工程中: 1) jar 包:远程依赖不会打包到 aar 中;本地依赖会; 2) aar:远程本地都不不会打包到 aar中. 3) 如果你要提供你库工程 aar 给他人,你需要同时告诉他这个库工程依赖其他...aar 远程 jar包(因为他们没有打包到 aar 中) 4) 如果通过工程依赖(即compile project(‘:lib’)方式), 依赖是可以传递,所以不需要在声明一次依赖....so文件 pickFirst只会打包第一个遇到冲突so,merge(碰到冲突会合并)exclude(直接排除匹配到文件,不建议使用) packagingOptions { pickFirst...项目开发中我们会经常引入多个Module,然而每个Module中又包含了V4、V7,为了升级新版本依赖包只用更改一次,我们决定采用Gradle依赖统一管理,避免重复繁琐劳动。...rootProject.ext.android["versionName"] //AndroidJunitRunner必须要显示指定在defaultConfig中,使用Gradle依赖管理无法使其生效

    11.3K31
    领券