首先是一些前提:
Android 应用程序使用 Android SDK API 类。
类定义是一些代码或部分代码,它们被编译成机器码/字节码。
我假设构成 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 平台”是否仅包含类声明和引用符号?!
Google API(例如 Google Maps API)怎么样?
Android 支持库怎么样?
最佳答案
Android SDK
代码嵌入到设备中,不属于您的 apk。
您需要通过 gradle compile
包含的内容进入您的 apk(例如 Support Library
)
关于android - Android SDK 是编译/链接到 APK 还是安装在 Android 设备上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839007/