Android SDK 是编译/链接到 APK 还是安装在 Android 设备上?

cha*_*hma 7 android google-api android-studio android-sdk-manager

首先是一些前提:

  1. Android 应用程序使用 Android SDK API 类。

  2. 类定义是一些代码或代码的一部分,它被编译成机器代码/字节码。

  3. 我假设构成 Android SDK API 的所有(或大部分)类/包都列在:
    https : //developer.android.com/reference/packages.html https://developer.android.com/reference/ classes.html 里面

    有很多!


现在的问题是:

这些代码/数据位于何处?它们是与应用程序代码一起编译到 APK 文件中还是存在于设备上的 Android 操作系统中,在这种情况下,应用程序应该动态链接到它们?

如果它们存在于设备上,那么使用较新的 Android SDK 版本(例如,Android Studio 中的每个 compileSdkVersion)编译应用程序有什么区别?

假设“Android SDK 构建工具”(与“SDK 平台”不同(根据“SDK 管理器”窗口!)并且有自己的版本控制)负责编译您的代码,因此较新的版本意味着更好的字节码优化和更快的 JAVA -> DEX 翻译!? 构建/编译工具

您编译 Android 应用程序并使用 compileSdkVersion 关键字设置其版本的“SDK 平台”是否仅包含类声明和引用符号?! 安卓SDK

Google API(例如 Google Maps API)呢?

Android 支持库怎么样?

mar*_*mor 3

Android SDK代码被烘焙到设备中,而不是您的 apk 的一部分。

您需要通过gradle compile进入您的 apk 包含的内容(例如Support Library