Sublime Text 超速构建Android开源项目

作者: Alien的小窝 | 来源:发表于2017-11-04 00:19 被阅读575次

    简书 编程之乐
    转载请注明原创出处!

    Paste_Image.png

    gradle分为两种,一种是构建工具,一种是Android Studio的插件。
    我们经常看到的这种
    如:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.1'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    

    这里面的是gradle的插件,是和Android相关平台相关的,不算是gradle的一部分。理解为maven仓库的某个类库。一般是在jcenter更新:https://jcenter.bintray.com/com/android/tools/build/gradle/

    总结:
    所以一般我们用2种方式编译gradle

    1. 使用path配置的(很少用,配置麻烦)
    2. 没有使用path配置的照样可以运行,window下一般使用gradlew.bat运行gradle的,其实我们潜意识下很多项目都是使用此种,也就是bat(wrapper形式)
    Paste_Image.png

    我们发现使用过的gradle版本(wrapper形式的),都默认下载到用户目录了,如果其他项目设置 下载过的gradle版本,那就不用再访问网络了。

    Paste_Image.png

    总之检查开源项目的 gradle 版本,gradle的插件版本,buildTools 版本以及 compile sdk 版本 就好办了;

    总结

    1. 推荐使用wrapper方式
    2. 修改gradle插件版本
    3. 修改gradle-wrapper.properties的值
    4. cd到gradle.bat所在目录,运行.
      linux
      ./gradlew clean
      ./gradlew assembleDebug
      windows
      gradlew.bat clean
      gradlew.bat assembleDebug

    最后注意点

    个别开源项目没有把local.properties 推送到GitHub上去,所以会报找不到SDK的错误,这时候只需 建一个 local.properties文件,内容为

    ndk.dir=E\:\\Android\\sdk\\ndk-bundle
    sdk.dir=E\:\\Android\\sdk
    

    即可。

    为什么推荐用wrapper而不是 path(path或者AS设置的gradle安装路径)

    Paste_Image.png

    早些时候我一般设置的都是第二种方式(等价于path环境变量),而且当时很多博客还错误的认为
    这种是最佳,且勾选offline work可以加速AS构建。

    但你发现上面第一种方式 AS 默认勾选了 (recommend推荐)

    再看两张截图


    Paste_Image.png Paste_Image.png

    我们发现现在构建gradle只需指定版本号即可,无需跟以前似得指定gradle的安装位置,这里的设置就是改变 前面我们提到的几个配置文件的值。 所以wrapper方式是最值得推荐的,它就像一个打包的exe一样,用户不需要设置任何环境变量,没有环境变量照样运行gradle。

    完整案例

    1. 下载某个开源项目
    2. 修改我的gradle-wrapper.properties文件,我本地已存在3.3版本,
      在C:\Users\Administrator.gradle\wrapper\dists\目录中多个gradle可选。
      我这里常用3.3,所以修改为
      distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
    3. gradle-3.3-all对应的插件版本是2.3.3,所以这里修改为如下:
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
        }
    }
    
    1. 我的SDK Manager下载支持的是Android6.0,所以这里修改为:
    compileSdkVersion 26
    buildToolsVersion "26.0.0"
    
    1. 修改Android6.0即26对应的support包
    2. 添加local.properties
    ndk.dir=E\:\\Android\\sdk\\ndk-bundle
    sdk.dir=E\:\\Android\\sdk
    
    1. cd到gradle.bat所在目录
      linux
      ./gradlew clean
      ./gradlew assembleDebug
      windows
      gradlew.bat clean
      gradlew.bat assembleDebug

    甩 Android Studio十条街的速度构建apk。

    相关文章

      网友评论

      • 沃的爱情:点一波赞。。
      • 心存善心:快是因为ide支持的功能少,功能与快是个取舍,跟ide无关,哪天需要更多功能了,譬如语法高亮,自定定位,调试,监控等,花在研究如何集成,如何解决配置,如何稳定性问题,简直让人抓狂。我认同这块需要从记事本+命令实现,但是实际开发不见得就要用。我们应该把更多的时间和精力放在更有价值的地方,代码设计、算法、业务领域知识更重要。
        Alien的小窝:@心存善心 这个只是用来查看开源项目方便的,sublime支持函数跳转就这一点就够了,阅读开源项目非常方便,用来开发就是玩笑话了,当然还是选择合适的IDE.

      本文标题:Sublime Text 超速构建Android开源项目

      本文链接:https://www.haomeiwen.com/subject/wpbxmxtx.html