关于SO的压倒性建议是编译SDK通常应该与目标SDK匹配。
同样,最好让[compileSdk]与您的目标sdk版本相匹配。
关于SO的压倒性建议是编译SDK通常应该与目标SDK匹配。
真的吗?我预计除了新创建的项目之外,几乎没有Android应用程序会被如此配置,因为新项目的向导们倾向于为这些应用程序设置相同的值。
让它们相配有什么坏处
如今,几乎没有什么优势,伊霍。
回到2008-2011年,一个常见的(尽管有缺陷)建议是让compilesdkversion
匹配minsdkversion
(或者,事实上,它们的Eclipse/Ant等价物,因为那时Android Studio还不存在)。这是因为我们缺乏工具来自动告诉我们是否使用了在CompilesDKVersion
中有效但在MinSDKVersion
中不可用的东西(例如,11)。如果将这两个值设置为相等,则意味着如果尝试使用比minSDKversion
更新的东西,则会出现编译器错误。缺点是,您只能使用minSDKversion
中的功能集,无法逐步增强应用程序以利用更新设备上的更新功能。
现在,如果您尝试使用在compilesdkversion
中有效但在返回minsdkversion
时却不可用的东西,那么构建工具(特别是Lint)会对您大喊大叫,因此您知道要放入适当的build.version.sdk_int
检查,以确保您只在较新的设备上使用较新的东西,而在较旧的设备上使用较新的东西。
我担心我应该将、和设置为什么。 > 我首先担心的是,如果我将 设置为 23,这是现在最新的版本,旧设备是否能够运行它? 我如何确切地知道我的< code>minSdkVersion应该是什么,以确保运行较低api或版本的手机无法访问它(我不想将最低sdk设置得太高,因为这会阻止可能运行该应用程序的手机)? 我应该如何设置我的 ?
在maven项目中考虑以下代码: 其中 错误。如果源代码更改为<代码> 是否有任何变通方法允许我使用带有JDK10 SDK和源和目标的IntelliJ编译此代码? IntelliJ:2018.2 Java:Java HotSpot(TM)64位服务器VM 18.3(构建10.0.1 10,混合模式)
1.4.1 编译目标选择 事实上Emscripten的诞生早于WebAssembly,在WebAssembly标准出现前的很长一段时间内,Emscripten的编译目标是asm.js。自1.37.3起,Emscirpten才开始正式支持WebAssembly。 以asm.js为编译目标时,C/C 代码被编译为.js文件;以WebAssembly为编译目标时,C/C代码被编译为.wasm文件及对应的
在Eclipse中,我有min/max和target sdk,但在android studio中有这三个设置。
下面是build.gradle 但我能够在Android OREO(API版本26或27)上运行App这怎么可能?我需要将目标SDK版本更改为26或27吗?