技术发展这么快,经常遇到需要使用新版本的Android Studio来开发运行旧的Android工程,此时需要处理gradle兼容的问题
问题一、Could not install Gradle distribution from 'http://services.gradle.org/distributions/gradle-1.12-bin.zip'.
解决:gradle-wrapper.properties文件里面gradle的下载地址要改成https
问题二、This version of Android Studio requires projects to use Gradle 4.8.1 or newer. This project is using Gradle 1.12.
解决:意思就是让你换gradle版本,这个版本的Android Studio对gradle版本有要求。实在想不出就这么个玩意搞出多少事。还是gradle-wrapper.properties,改成如此:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
问题三、Gradle version 1.10 is required. Current version is 7.3.3.
解决:抓狂了吧,此时又说工程要1.10的gradle,你这版本呢是7.3.3呀,不可以啊。一副爱用不用的嘴脸。但凡有其他的,我也不用它,所以好与不好,是看市场占有率的。这下没办法了,要升级Sample的gradle了,干
1、先把项目级build.gradle加东西,Sample里是空的,把plugin标记一下。
plugins {
id 'com.android.application' version '7.2.2' apply false
id 'com.android.library' version '7.2.2' apply false
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
}
2、此时是找不到上面这些东西的,因为Sample的工程在模块的build.gradle定义了去哪个库里面找,所以要在settings.gradle文件里面加上这些定义
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
问题四、Could not find method compile() for arguments [com.android.support:support-v4:21.+] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
解决:此时要把Project Structure打开,可以看到提示,注意看warning,要修改了
修改成如图所示
结束:做到这一步后,可以看到gradle可以执行成功了,此时挂个21版本的虚拟机跑一次,你会发现报错:
ERROR:D:\BaiduNetdiskDownload\AppRestrictionEnforcer\Application\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values-v23\values-v23.xml:4: AAPT: error: resource android:attr/colorBackgroundFloating not found.
需要修改模块的build.gradle文件,里面要制定编译的sdk,改成28
compileSdkVersion 28
改完这句,虚拟机就能跑起来了。就是这么坑
作为WM的粉,非常不喜欢Android,也不喜欢Android Studio。就是个蛋疼的玩意。
本文介绍了如何使用较新的Android Studio Chipmunk来编译旧版本Android 21的Sample,解决了Gradle版本不兼容、找不到方法compile()以及资源错误等问题。主要步骤包括更新Gradle下载地址、升级Sample的Gradle版本、修改Project Structure和模块的build.gradle文件设置编译SDK。

376

被折叠的 条评论
为什么被折叠?



