如何查看Android SDK源码版本
PLATFORM_VERSION := 4.2.2
位于/build/core/version_defaults.mk
#
# Copyright (C) 2008 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the “License“);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an “AS IS“ BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Handle various build version information.
#
# Guarantees that the following are defined:
# PLATFORM_VERSION
# PLATFORM_SDK_VERSION
# PLATFORM_VERSION_CODENAME
# DEFAULT_APP_TARGET_SDK
# BUILD_ID
# BUILD_NUMBER
#
# Look for an optional file containing overrides of the defaults,
# but don’t cry if we don’t find it. We could just use -include, but
# the build.prop target also wants INTERNAL_BUILD_ID_MAKEFILE to be set
# if the file exists.
#
INTERNAL_BUILD_ID_MAKEFILE := $(wildcard $(BUILD_SYSTEM)/build_id.mk)
ifneq ““ “$(INTERNAL_BUILD_ID_MAKEFILE)“
include $(INTERNAL_BUILD_ID_MAKEFILE)
endif
ifeq ““ “$(PLATFORM_VERSION)“
# This is the canonical definition of the platform version,
# which is the version that we reveal to the end user.
# Update this value when the platform version changes (rather
# than overriding it somewhere else). Can be an arbitrary string.
PLATFORM_VERSION := 4.2.2 # SDK Version
endif
ifeq ““ “$(PLATFORM_SDK_VERSION)“
# This is the canonical definition of the SDK version, which defines
# the set of APIs and functionality available in the platform. It
# is a single integer that increases monotonically as updates to
# the SDK are released. It should only be incremented when the APIs for
# the new release are frozen (so that developers don’t write apps against
# intermediate builds). During development, this number remains at the
# SDK version the branch is based on and PLATFORM_VERSION_CODENAME holds
# the code-name of the new development work.
PLATFORM_SDK_VERSION := 17 #API Level
endif
ifeq ““ “$(PLATFORM_VERSION_CODENAME)“
# This is the current development code-name, if the build is not a final
# release build. If this is a final release build, it is simply “REL“.
PLATFORM_VERSION_CODENAME := REL
endif
ifeq ““ “$(DEFAULT_APP_TARGET_SDK)“
# This is the default minSdkVersion and targetSdkVersion to use for
# all .apks created by the build system. It can be overridden by explicitly
# setting these in the .apk’s AndroidManifest.xml. It is either the code
# name of the development build or, if this is a release build, the official
# SDK version of this release.
ifeq “REL“ “$(PLATFORM_VERSION_CODENAME)“
DEFAULT_APP_TARGET_SDK := $(PLATFORM_SDK_VERSION)
else
DEFAULT_APP_TARGET_SDK := $(PLATFORM_VERSION_CODENAME)
endif
endif
ifeq ““ “$(BUILD_ID)“
# Used to signify special builds. E.g., branches and/or releases,
# like “M5-RC7“. Can be an arbitrary string, but must be a single
# word and a valid file name.
#
# If there is no BUILD_ID set, make it obvious.
BUILD_ID := UNKNOWN
endif
ifeq ““ “$(BUILD_NUMBER)“
# BUILD_NUMBER should be set to the source control value that
# represents the current state of the source code. E.g., a
# perforce changelist number or a git hash. Can be an arbitrary string
# (to allow for source control that uses something other than numbers),
# but must be a single word and a valid file name.
#
# If no BUILD_NUMBER is set, create a useful “I am an engineering build
# from this date/time“ value. Make it start with a non-digit so that
# anyone trying to parse it as an integer will probably get “0“.
BUILD_NUMBER := eng.$(USER).$(shell date +%Y%m%d.%H%M%S)
endif
root@idong:/home/hejian/rk3066-4.2/build/core#
root@idong:/home/hejian/rk3066-4.2/build/core# cat version_defaults.mk
#
# Copyright (C) 2008 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the “License“);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an “AS IS“ BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Handle various build version information.
#
# Guarantees that the following are defined:
# PLATFORM_VERSION
# PLATFORM_SDK_VERSION
# PLATFORM_VERSION_CODENAME
# DEFAULT_APP_TARGET_SDK
# BUILD_ID
# BUILD_NUMBER
#
# Look for an optional file containing overrides of the defaults,
# but don’t cry if we don’t find it. We could just use -include, but
# the build.prop target also wants INTERNAL_BUILD_ID_MAKEFILE to be set
# if the file exists.
#
INTERNAL_BUILD_ID_MAKEFILE := $(wildcard $(BUILD_SYSTEM)/build_id.mk)
ifneq ““ “$(INTERNAL_BUILD_ID_MAKEFILE)“
include $(INTERNAL_BUILD_ID_MAKEFILE)
endif
ifeq ““ “$(PLATFORM_VERSION)“
# This is the canonical definition of the platform version,
# which is the version that we reveal to the end user.
# Update this value when the platform version changes (rather
# than overriding it somewhere else). Can be an arbitrary string.
PLATFORM_VERSION := 4.2.2
endif
ifeq ““ “$(PLATFORM_SDK_VERSION)“
# This is the canonical definition of the SDK version, which defines
# the set of APIs and functionality available in the platform. It
# is a single integer that increases monotonically as updates to
# the SDK are released. It should only be incremented when the APIs for
# the new release are frozen (so that developers don’t write apps against
# intermediate builds). During development, this number remains at the
# SDK version the branch is based on and PLATFORM_VERSION_CODENAME holds
# the code-name of the new development work.
PLATFORM_SDK_VERSION := 17
endif
ifeq ““ “$(PLATFORM_VERSION_CODENAME)“
# This is the current development code-name, if the build is not a final
# release build. If this is a final release build, it is simply “REL“.
PLATFORM_VERSION_CODENAME := REL
endif
ifeq ““ “$(DEFAULT_APP_TARGET_SDK)“
# This is the default minSdkVersion and targetSdkVersion to use for
# all .apks created by the build system. It can be overridden by explicitly
# setting these in the .apk’s AndroidManifest.xml. It is either the code
# name of the development build or, if this is a release build, the official
# SDK version of this release.
ifeq “REL“ “$(PLATFORM_VERSION_CODENAME)“
DEFAULT_APP_TARGET_SDK := $(PLATFORM_SDK_VERSION)
else
DEFAULT_APP_TARGET_SDK := $(PLATFORM_VERSION_CODENAME)
endif
endif
ifeq ““ “$(BUILD_ID)“
# Used to signify special builds. E.g., branches and/or releases,
# like “M5-RC7“. Can be an arbitrary string, but must be a single
# word and a valid file name.
#
# If there is no BUILD_ID set, make it obvious.
BUILD_ID := UNKNOWN
endif
ifeq ““ “$(BUILD_NUMBER)“
# BUILD_NUMBER should be set to the source control value that
# represents the current state of the source code. E.g., a
# perforce changelist number or a git hash. Can be an arbitrary string
# (to allow for source control that uses something other than numbers),
# but must be a single word and a valid file name.
#
# If no BUILD_NUMBER is set, create a useful “I am an engineering build
# from this date/time“ value. Make it start with a non-digit so that
# anyone trying to parse it as an integer will probably get “0“.
BUILD_NUMBER := eng.$(USER).$(shell date +%Y%m%d.%H%M%S)
endif
安卓开发一般选用哪个版本sdk
现在
android
开发
SDK一般选择用最新的SDK版本,这是Google官方强烈建议的。
app能运行的Android版本不是由SDK决定的,是由每一个项目的minSDK决定的。SDK都是向下兼容的。SDK在不断改进中,新的SDK会提供更强大开发工具,而且用4.0的SDK编译的2.1的apk的执行效率会比用2.1的SDK编译的更高。
至于每个app应该用什么
minSDK
,应该根据应用具体的API来,如果app没有用到1.6以上SDK新提供的API,那么用1.6会在提供相同体验下反而会比2.1兼容更多机型.
如何查看android sdk版本
1、点击进入已经下载好的sdk的路径位置中。
2、通过android studio菜单栏中也可以进入。
3、在sdk manager的应用程序,然后双击启动该应用。
4、点击菜单中tools的选项。
5、弹出了下拉菜单,点击about选项。
6、然后就会弹出了android sdk manager about的窗口,可以在窗口看到是revision 25.0.6的版本。
扩展资料
软件工具开发包通常包含许可证,这些许可证使它们不适合构建旨在根据不兼容许可证开发的软件。专有SDK通常与自由软件开发不兼容,而GPL许可的SDK可能与专有软件开发不兼容,所有这些都特别是出于法律原因。-android sdk版本
但是,根据GNU宽通用公共许可证(LGPL)构建的SDK通常对于专有开发是安全的。平均Android移动应用程序实现了15.6个独立的SDK,游戏应用程序平均实现了17.5种不同的SDK。
Android移动应用最受欢迎的SDK类别是分析和广告 。SDK可能不安全(因为它们在应用程序中实现,但运行单独的代码)。
恶意SDK(无论是否有诚意)可能会侵犯用户的数据隐私,损害应用性能,甚至导致应用被禁止使用Google Play或iTunes。新技术允许应用程序开发人员实时控制和监控客户端SDK。
参考资料:百度百科-Android SDK
参考资料:百度百科-软件开发工具包