今天更改了android.jar,直接可用成果物从这里下载,如何更改看这里,之后提示了如下错误:
Could not resolve all files for configuration ':mdm:androidApis'.
Failed to transform android.jar to match attributes {artifactType=android-mockable-jar, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime, returnDefaultValues=false}.
Execution failed for MockableJarTransform: D:\Program\Android\Sdk\platforms\android-30\android.jar.
来看看原因,提示MockableJarTransform错误,处理肯定在com.android.tools.build:gradle里,下载对应的版本就可以了,在这里搜索下载。
下载gradle的source(源码)和pom(源码的编译需要引入的库)。

grep -rn MockableJarTransform *

去pom文件中查找MockableJarGenerator可能引入的库,
同样办法下载,下载source就够了:





但是生成完之后发现,android.jar是能用了,但是里面少了很多文件,只能祭出我们的终极大法了,修改as编译jar,让它不校验android.jar。
修改MockableJarGenerator.java文件,将其中的处理全部删掉。方法是创建同包名,同方法名类文件,将方法体删掉,生成class文件替换进去:

caches\modules-2\files-2.1\com.android.tools.build\builder 下的编译使用的版本下的jar包
替换的过程中要关闭as,替换之后重新sync就可以了。




