我的Android应用程序在一些罕见的情况下遇到了一些冻结问题。经过一些研究,我发现此问题是由已经在issuetracker.google.com
上报告的Android错误引起的。最近我收到通知,问题已解决。
现在我的问题是,我如何确保这个应该修复冻结的 AOSP 提交已经包含在我的项目中?它可能与build.gradle文件有关,该文件如下所示:
dependencies {
implementation 'androidx.preference:preference:1.1.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.2.0-alpha03'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
...
}
对于每个实现,都存在一个版本号。那么我是否必须等到Google发布包含修复程序的最新版本的软件包,然后使用此最新版本?还是我只会通过重新同步项目来获得最新的修复程序?
如果这是一个愚蠢的问题,我深表歉意,但我还不太了解 AOSP 存储库和我的 Android 项目之间的同步是如何工作的。提前感谢任何帮助。
链接到问题跟踪器上的错误。需要使用Google帐户登录才能查看问题跟踪器。
我会说'androidx.appcompat:appcompat:1.2.0-alpha03'。
从问题跟踪器中,我们了解到修复该错误的补丁的链接。在补丁页面中,我们看到修复程序位于"appcompat"文件夹/库中(底部的修改文件列表(。此外,在左上角,我们看到了存储库和合并补丁的分支(存储库平台/框架/支持,分支 androidx-master-dev(。将修补程序标记为"已合并"非常重要。只有合并的补丁才会集成到已发布的库中。
单击分支链接会将我们转到构建所有 androidx.* 库的存储库/分支(请参阅这些说明,如何自己构建 androidx.* 库并在本地使用它们(。在这里,我们必须搜索修复该错误的补丁,但是androidx存储库收到了很多补丁,并且列表很长。幸运的是,右上角的搜索/过滤器框接受目录键。通过在搜索框中添加"directory:appcompat",我们只能看到来自appcompat lib的补丁。很容易发现">修复"补丁,并在其上方找到另一个补丁">Bump AppCompat 版本到 1.2.0-alpha03",该补丁为固定的 appcompat 库设置版本。