使用Android Studio时,可以下载SDK源代码。在Windows上,下载的源代码位于此处:
C:\Users\<USER>\AppData\Local\Android\Sdk\sources\
字符串
但是我观察到,对于API 33,* 对于某些类 *,源代码并不存在于这个(通常)位置。
示例:
对于类android.provider.OpenableColumns
,源代码如下
C:\Users\<USER>\AppData\Local\Android\Sdk\sources\android-33\android\provider\OpenableColumns.java
型
这很好:-)
但是对于类android.provider.MediaStore
,source在预期位置NOT present:
̶C̶:̶\̶U̶s̶e̶r̶s̶\̶<̶U̶S̶E̶R̶>̶\̶A̶p̶p̶D̶a̶t̶a̶\̶L̶o̶c̶a̶l̶\̶A̶n̶d̶r̶o̶i̶d̶\̶S̶d̶k̶\̶s̶o̶u̶r̶c̶e̶s̶\̶a̶n̶d̶r̶o̶i̶d̶-̶3̶3̶\̶a̶n̶d̶r̶o̶i̶d̶\̶p̶r̶o̶v̶i̶d̶e̶r̶\̶M̶e̶d̶i̶a̶S̶t̶o̶r̶e̶.̶j̶a̶v̶a̶
型
问题:
- 它与新的extension mechanism有关吗?我想是的。
- 如何从Android Studio中获取并查看缺少的源代码(在我的示例中,是
android.provider.MediaStore
的源代码)?
提前感谢您的帮助。
PS:issue created on issuetracker.google.com
1条答案
按热度按时间mbyulnm01#
Android SDK 34修订版2源代码没有这个问题。
(see问题:https://issuetracker.google.com/issues/287110098)
到目前为止,Android SDK 33是我们必须使用的最低目标SDK(请参阅https://developer.android.com/google/play/requirements/target-sdk#why-target),但很快它将是SDK 34。
解决方案:
使用compileSdkVersion = 34确实解决了这个问题:
android.provider.MediaStore
源代码回来了:-)(and所有其他缺失来源)
由您决定是否也将targetSdkVersion更改为34(或保留33)。
如果是这样,请务必检查此页面:Migrate apps to Android 14