• Android Studio导入Project、Module的正确方法


    Gradle Project项目、Module模块导入

    最近看到网上很多人在抱怨,Android Studio很难导入github上下载下来的一些项目,主要包括:

    1、导入就在下载Gradle
    2、根本导不进

    下面我分2部分来讲解正确的导入姿势:

    1、导入完整的Github Project

    我们在github上找一个项目

    工程目录如上,里面的东西其实分为2部分,工程相关和项目相关

    工程相关用于配置整个项目的编译环境和依赖,项目相关就是你的代码和配置文件啦

    我们先来看工程相关,他包含这样几个文件夹:

    由于现在Gradle还不是太成熟,所以版本更新会比较快,如果当初项目作者使用的是其他版本的Gradle,而你没有,AS就好默认去下载最匹配的Gradle,可偏偏在国内,这个下载奇慢无比,而且Gradle的文件也挺大有50+MB,所以,我们需要修改下配置先:

    打开gradle文件夹warpper文件夹,打开gradle-wrapper.properties

    #Wed Apr 10 15:27:10 PDT 2013
    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=http://services.gradle.org/distributions/gradle-1.12-all.zip
    


    可以看见最后一行,作者使用的是gradle-1.12-all.zip,而我们,我们打开这样一个目录C:Users Administrator.gradlewrapperdistsgradle-2.1-all27drb4udbjf4k88eh2ffdc0n55

    我们使用的是gradle-2.1-all.zip,所以AS就煞笔的再去下一个gradle-1.12-all.zip了,OK我们修改下配置改为:

    distributionUrl=http://services.gradle.org/distributions/gradle-2.1-all.zip


    然后选择

    open exiting,选择我们的Build.gradle文件,就可以打开项目了。

    但是——————————————————————————————————————————————

    这个办法在最新的2.1上好像————————————————————————————————————不行了

    具体原因我也没有找到,但可以想到Android Studio和gradle 2个都是beat中的玩意,出点问题也不奇怪,但愿以后正式版上能ok就好

    下面我们使用另一种方法,移花接木:

    我们先来看看我们自己创建的项目编译好后是什么样子:

    多了几个gradle的文件哈,OK,我们把工程相关的gradle文件夹copy过来,替换掉要导入工程的gradle文件夹

    copy需要这几个文件夹:

    OK,下面再重新导入Exiting Project,选择Build.gradle文件,即可导入Project。

    2、导入一个module

    如果我们新建了一个工程,需要导入其他工程的一个module怎么弄呢,如同我们上面的那个项目,需要导入他的library

    这 个其实就很简单了,我们前面搞那么多,都是因为工程无法找到正确的编译文件,但是module就不一样了,他只是用一个Build.gradle文件来控 制它这个module的编译规则,因此,我们只要导入就可以了,工程的编译配置还是我们自己工程的配置,只是导入的时候需要注意下,这里我们需要选择 module的目录,而不是再选择Build.gradle文件了。

    ok,选择导入,就可以完成module的添加了。

    归根到底,gradle的编译方式与Android的Makefile还是有点类似的,这样的方式,项目越大,优势越明显,但在我们平时的小app开发上,确实显得有点臃肿,编译时间实在太长了!!!但愿正式版能有所改善,相信Google能做到。

    对于无法导入项目这件事,说到底还是对Gradle语法和编译环境的不熟悉造成的,所以说,学东西,搞清楚原理很重要啊,特别是像这种刚开始普及的东西,哪来那么多现成的东西可以让你借鉴,只能靠自己,Read The F**king Source Code。

    以上。

  • 相关阅读:
    Android中NFC编程
    动态的改变程序的主题
    第二章 Libgdx的目标和特性
    第一章 Libgdx简介
    JAVA过滤器和拦截器的区别(个人理解)
    Android下Activity的生命周期
    Ext JS 4.2.1 Beta 1发布了
    【翻译】Ext JS 4.2介绍
    jQuery 1.5发布 Ajax模块重写
    ASP.NET 服务器控件渲染到客户端之后对应的HTML标签
  • 原文地址:https://www.cnblogs.com/Seachal/p/5612203.html
Copyright © 2020-2023  润新知