编译SDK会影响Android函数返回的值吗?

2023-12-10

假设我有一个设备 A,并且我的应用程序编译了两次:第一次设置compileSDK=8,第二次设置compileSDK=22。 当我现在从 Android 系统调用函数时,系统是否有可能返回两个不同的值或对象? 我认为这是不可能的,因为这取决于设备上运行的系统,并且针对编译 SDK 的编译过程仅断言它有效 - 但我的一位同事表示,这可能会产生不同的输出。 (抱歉这里没有任何例子..)


编译版本只是告诉你的编译器哪些 android 类和函数可用。例如如果您尝试使用 v11 中引入的方法并且您的编译版本是 8,那么您将收到编译错误。

我想如果有一个在 8 和 11 之间变化的恒定值,它可能会以与您的应用程序不同的方式进行编译,但这不太可能,因为 Android 开发人员会知道会导致的问题,并且会破坏他们的原则向前兼容性:

由于几乎所有对框架 API 的更改都是附加的,因此使用任何给定版本的 API(由其 API 级别指定)开发的 Android 应用程序都与更高版本的 Android 平台和更高的 API 级别向前兼容。

即便如此,来自的建议here is:

一般来说,您应该针对应用程序可以支持的尽可能低的平台版本来编译应用程序。

即编译版本=最小sdk版本

(请注意,一个例外是当您需要后续 API 中的 API 功能时,但您打算通过检查来安全地回退Build.VERSION。在这种情况下,您需要比最低版本更高的编译版本)。

针对您的陈述:

我认为这是不可能的,因为这取决于运行的系统

需要注意的是,API 高于targetSdkVersion将尝试向下模仿目标 API 级别:

随着 Android 随着每个新版本的发展,某些行为甚至外观可能会发生变化。但是,如果平台的API级别高于您的应用程序声明的版本targetSdkVersion,系统可能会启用兼容性行为,以确保您的应用程序继续按您期望的方式工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译SDK会影响Android函数返回的值吗? 的相关文章

  • Android 中多个蓝牙连接的自定义 UUID

    我有一个 Android 设备作为服务器连接到多个蓝牙 Android 客户端 我了解 UUID 的概念以及它的独特之处 我的问题是 我可以为连接到我的服务器的所有客户端使用相同的 UUID 吗 如果没有 我如何以编程方式为我的客户端生成
  • android edittext中的字符映射

    我想让我的编辑文本就像我写字符 g 时一样 它是相关的映射自定义字符应该写成印地语中的 我认为应该有字符映射 但没有知识任何人都可以帮助我 怎么做 其他应用程序https play google com store apps details
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • Android 深度链接至 Instagram 应用

    Instagram 已经发布了 iOS 深层链接的 url 方案 但尚未为 Android 创建文档 有没有办法深入链接到 Android 上的 Instagram 应用程序 以转到 Instagram 应用程序中的特定位置 例如 Inst
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 错误:(23, 13) 无法解决:com.google.android.gms:play-services:11.2.0“安装存储库和同步项目”不起作用

    我正在尝试在我的 Android 应用程序中获取位置并更新到服务器 这是我的 Gradle 代码 我在这里包含了compile com google android gms play services 11 2 0 这条线是从文档中 htt
  • Dagger 2 中“HasFragmentInjector”的实际用法是什么

    我之前已经实现了 dagger2 v2 2 但现在他们也添加了 dagger android 部分 所以我正在用它创建示例项目 我知道旧的方法论 Provide and Modules and 成分等注释 但从 Dagger 2 8 开始
  • Android 后台倒计时器

    我有一个 Android 应用程序 它管理一个倒计时器 类 CountDownTimer 它显示在应用程序屏幕中 以显示到达 00 00 还剩多少时间 我现在的问题是 当我按主页按钮或启动另一个应用程序时 应用程序 计时器不会在后台运行 所

随机推荐

  • 找不到类型或命名空间名称[重复]

    这个问题在这里已经有答案了 我有一个C 包含多个项目的解决方案Visual Studio 2010 一个是测试项目 我称之为 PrjTest 另一个是Windows Forms Application项目 我称之为 PrjForm 还有Pr
  • 如何设置sbt的堆大小?

    我正在使用 SBT 0 12 0 我已经阅读了有关堆栈溢出的其他答案并遵循了它们 但是它们都没有帮助 例如 create ForkRun类 我在使用 sbt 期间没有观察到任何分叉进程 设置环境变量JAVA OPTS 它已设置 但 sbt
  • 匹配所有语言php字母的正则表达式

    我花了几个小时试图在 php 中找到正确的正则表达式来匹配任何语言字母 但防止它留出空间 我试过这个 p L 这没关系 但看起来它允许空间 然后我尝试了这个 w 看起来仍然有空间 有人可以帮忙吗 您需要指定 Unicode 修饰符u to
  • 在 Swift 中使用 AlamoFire 创建通用方法

    我使用 AlamoFire 进行 API 调用 并且在我的项目中都有这样的内容 static func login userName String password String gt User let parameters userNam
  • 如何在android中的警报对话框中添加阴影效果

    我想在警报对话框中添加阴影效果 我想要在我的对话框中出现这种类型的阴影效果在这里我发布了3个文件 第一个是style xml 第二个是theme java 第三个文件是demo bg xml文件 我已经尝试过这样的操作 Style xml
  • 从外部触发淘汰赛事件

    我有以下 html 表单中的 Select Element
  • 获取当前键盘光标位置

    无论如何 是否可以像获取鼠标光标位置一样全局获取键盘光标 插入符号 当前位置的坐标mouseLocation 不 没有办法在全球范围内做到这一点 如果您想在自己的应用程序中执行此操作 例如在 NSTextView 中 您可以这样做 NSRa
  • 为什么在 WPF 自定义 2D 绘图中使用具有破折号图案的笔会导致巨大(!)性能下降?

    希望有人能阐明这一点 以便我可以使用带有破折号图案的笔 我正在写一个可滚动的图表 Panel inside ScrollViewer实现IScrollInfo 在 WPF 中使用DrawingVisual s DataContext Dra
  • 使用 vs 2010 在负载测试中测试迭代设置

    我想测试 250 个并发用户的应用程序 我对负载测试设置有一些疑问 实现上述目标的正确设置应该是什么 我已将最大用户数设置为 250 并将运行设置中的测试迭代设置为 1 那么它会发送 250 个虚拟请求吗 or 我必须将最大用户数设置为 2
  • string类与其他类有何区别?

    我们可以做的 String string ourstring 但我们不能为用户定义的类创建这样的对象 UserClass uc Java 如何允许我们直接设置值java lang String只上课 java lang String是一个特
  • 如何在 IgGrid 单元格(Infragistics)中获取正则表达式?

    如何在 igGrid 更新中的 igTextEditor 上使用正则表达式 我尝试使用验证选项 但没有成功 schedulerTable igGrid columns scope schedulerColumns width 87 heig
  • 如何使用 React 删除待办事项列表中的项目

    我正在使用 React 创建一个待办事项列表应用程序 在我的应用程序中 当我单击 x 按钮删除项目并使用 console log 检查当前数组时 我可以看到该数组已正确更新为我要删除的项目从数组列表中 但 Dom 只渲染我想要删除的项目而不
  • 提高自定义无限滚动的速度

    我有一个自定义的无限滚动 运行完美 但速度非常慢 这是处理 ajax 请求的脚本 function ga infinite scroll trigger this on infinite scroll add filter woocomme
  • JFreeChart X 轴标签超出图表区域

    我有一个JFreeChart图表与DateAxis作为域 它看起来非常漂亮 但是最后一个轴标签有时会超出图表区域 这是要重现的示例代码 public class LineChart AWT extends ApplicationFrame
  • Visual basic 和 Json.net Web 请求

    基本上我想做的是制作一个程序来列出英雄联盟的游戏信息 使用 API 来提取数据 其工作原理是 您搜索用户名 它会返回链接到该帐户的整数 然后您使用该整数搜索该帐户的所有信息 EG 帐户级别 获胜 损失等 我遇到了一个我似乎无法弄清楚的问题
  • 安装tensorflow需要多少空间?

    我正在尝试跑步pip install tensorflow from a Jupyter笔记本 尝试运行它cmd给出一个更陌生的error 并且我的可用磁盘空间 目前还剩 1 2 GB 在安装过程中似乎会减少 然后我会看到 Errno 28
  • Spark - 评级文件中的相关矩阵

    我对 Scala 和 Spark 还很陌生 无法从评级文件创建相关矩阵 它类似于这个问题但我有矩阵形式的稀疏数据 我的数据如下所示
  • MySQL 进行多个连接时 tmp 表的密钥文件不正确

    我不经常来这里寻求帮助 但我对此感到非常沮丧 我希望有人以前遇到过这种情况 每当我尝试使用多个连接从表中获取记录时 我都会收到此错误 126 Incorrect key file for table tmp sql 64d 0 MYI tr
  • 模块中的 AngularFire2 应用程序初始化与动态配置数据冲突

    我遇到了一个问题 因为我的配置数据是在运行时加载的 而 AnuglarFire2 想要模块声明中的数据 我可以通过直接注入访问数据 但我不知道如何将数据获取到模块文件中的 AngularFireModule 在运行时加载数据是将配置数据获取
  • 编译SDK会影响Android函数返回的值吗?

    假设我有一个设备 A 并且我的应用程序编译了两次 第一次设置compileSDK 8 第二次设置compileSDK 22 当我现在从 Android 系统调用函数时 系统是否有可能返回两个不同的值或对象 我认为这是不可能的 因为这取决于设