赞
踩
当年把所有 Android开发工具都布置完毕时的第一件事是什么?对,自己创建各项目。
在接下来的日子中,你会经常要去导入别人的源码来对照着学习。
但是Android Studio听说很智能,但是对于初学者来说,Gradle的一大堆问题,够你一调就调好几天了。(亲身经历过三四天都在调,就为了把尚硅谷开源的项目源码运行成功。。。。。。)
所以,
如果你正在跟着某个机构的系统教学视频学习,强烈建议你的所有开发工具的版本都和教学视频里的版本一样!!!之后你打开他提供的项目源码,基本都是不会出现问题的,就算出现了,也是很好解决的。
学习一门语言,千万不要浪费时间在开发工具的问题上!得不偿失啊!等你掌握这门语言了,对开发工具使用得很熟练了,到那时,你再去将你的开发工具更新到最新版本,再去用新特性。切记,切记,切记啊!
导入别人的 Android Studio 项目往往是会出错的,一般出现以下几种情况:
1、run 灰色;
2、配置 app 显示红 x, 主要是 no moudle;
3. 其他,反正一大堆错等着你百度。
我发现好多百度出来的也是坑,根本解决不了我们的问题。所以今天记录以下自己解决导入别人 android Studio 的过程。
前提条件:问题的原因就是每个人的AS、Gradle的版本不同,以及项目配置文件的信息不一样。所以解决办法就是删除这些配置文件,再导入自己电脑的AS,然后让他自己生成这些东西。
我电脑有两个版本的Android Studio,一个3.2.1,另一个1.5.0 (就是因为想打开网上别人的项目才下载这个老版本的) 。结果就算AS版本一样,还是总会出现gradle一大堆错误,按谷歌到的方法试了都无果,只有转载的这个方法有用。
较快的一般解决方法:就是自己新建一个 project 项目,然后 run,如果能 run 成功,这表明接下来出的错可以排除并不是你安装 android Studio 配置没配好,比如 sdk 没配好的原因。能 run 成功的项目后就直接把你要导进的项目里的整个 app 文件复制然后跟你的项目 app 进行替换。一般是不会出错的,没有发现红 x,那就 run 一下。如果 run 成功,app 能显示出来,那就恭喜你了。如果是 run 成功,但提示 app 程序终止等的话,那就去看控制台,这时候可以通过控制台迅速定位到出错的地方。
如果是简单的就自己解决,不会的就直接把问题百度吧。
但是当你想导入的是大型项目时呢?
较好的一般解决方法:直接 run 别人的项目,不过在 run 之前的做些准备工作,不要直接一有项目就直接往 android studio 导项目,这时候往往都是给你红 xxx 的以及一些报错信息,当然如果你的版本刚好跟要导的项目是同一版本的话,也许会有惊喜哦。不过我就没这运气啦,^_^。
首先:去到要导入项目的目录下把 .idea,*.iml,local.properties 删除(* 表示所有).
然后进入 app 文件夹把 build文件夹,*.iml 删除。
还要打开 app 文件夹中的build.gradle文件,(在此步骤之前请打开以往你自己在AS上能 run 成功的项目的gradle文件来参照)
① 修改 compileSdkVersion , buildToolsVersion;(我在Android Studio 3.2.1中一般用 28, 28.0.3)
② 修改 defaultConfig{} 中的 minSdkVersion 和 targetSdkVersion(我在Android Studio 3.2.1中一般用 15, 28)
③ 把 dependencies{} 中implementation 修改成对应上面 compileSdkVersion, buildToolsVersion 的版本号;
如图:
Android Studio3.0 后 build.gradle 里的 dependencies 里 compile 要改为 implementation
接着打开以往在自己的AS上 run 成功的项目,在其主文件夹下找到 build.gradle 文件:
把 classpath: 这整句复制,去要导入的项目中打开 build.gradle进行替换。
(我在Android Studio 3.2.1中一般用对应版本号 classpath 'com.android.tools.build:gradle:3.2.1' )
最后再打开主文件夹的gradle文件目录(即 gradle\wrapper\gradle-wrapper.properties ),
复制 distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip (我在Android Studio 3.2.1 中一般用 gradle4.6),
去到要导入的项目进行替换。
好了,最后可以打开 android studio 通过 open an exisiting android studio project 选项打开要导入的项目。
一般这样都能 run 成功了并且 app 运行无异常,
随着学习的深入,你会发现还有好多这样解决不了的问题。(但是大都不是代码问题,而是版本不适配的问题。所以AS和Gradle,有利也有弊吧。)
学会看报红的错误信息,根据提示去查解决方案。
(哪里报错,就用 Shift+ctrl+F 输入这个代码名查找到对应位置)
如果导入还是报错,再根据具体错误进行修改或者百度。
(注:建议去GitHub下载一些 Star 多的热门开源安卓项目看看,例如 OSChina 的安卓源码,你会发现他们几乎都是先删除掉下面说的这些再发上去开源的)
引用一句名言:“不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。”
(本文受 灰太狼_cxh的文章:Android Studio 踩的坑之导入别人的 Android Studio 项目 的启发,之后结合自己情况修改。)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。