赞
踩
Android Studio打开旧工程的正确姿势
Andriod Studio发展比较快,现在一般使用3.6.3的com.android.tools.build:gradle
。如果打开一些2.x.x
版本的会报各种错误。比如识别不了google()方法,比如能编译但是不能自动安装。你可能会问为什么要打开一些旧工程呢?Github上的一个sdk大部分都是2.x.x
,甚至一些大厂出的sdk也是这样,你要使用sdk看demo的时候就必须要下载打开旧工程了。这是没有办法。Android Studio没有像Office办公软件一样强大,能打开任意更老版本的Word文件,Android Studio打开2.x.x
的工程会出现一些问题,这里就把其当成一个事,好好记录一下。免得心急如焚,不好好处理你预计要花费20分钟熟悉的demo可能要花上4个小时都解决不了。
这是一个典型的老工程的
build.gradle
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.6.3' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
gradle/wrapper/gradle-wrapper.properties
现象:Android Studio打开一个旧工程,点击“run”只会编译,不会自动安装。报如标题的错误,猜到可能是配置的问题。网上查得是com.android.tools.build:gradle
版本过低导致。网上的旧工程一般是2.x.x
换成3.6.3
就可以了。
buildscript { repositories { jcenter() maven { url 'https://maven.google.com' } // 添加这一行解决下载不了3.6.3的问题 这个不能直接使用google()低版本的gradle不认这个语法 } dependencies { classpath 'com.android.tools.build:gradle:3.6.3' //修改成高版本以解决低版本的问题 } } allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } // 添加这一行解决下载不了android suport的问题 } }
比如:Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: No outputs for the main artifact of variant: debug
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。