【Android】【Gradle】

 运行app:stripDebugDebugSymbols:
     ./gradlew.bat app:stripDebugDebugSymbols -PreactNativeDevServerPort=8081  --stacktrace
gradlew用于命令行安装Gradle,解决了用正确版本的Gradle来构建项目的问题
执行构建时: 执行 .		/gradlew.bat  //Gradle startup script for Windows
输出的apk安装包: 		app/build/outputs/apk:
输出签名:				Gradle:app-Tasks-android-signingReport 
手动添加依赖, 先把jar复制到libs目录下, 再在 [项目结构-Modules-app-Dependencies-加号]	
最上面是ActionBar, 取而代之的是ToolBar

gradle的解析顺序:    
    ==Project 的	setting.gradle
    ==Project 的	build.gradle
    ==》app	的	build.gradle

//settings.gradle 
include ':app'     //指示Gradle在构建应用时应将哪些模块包括在内

//gradle-wrapper.properties 
gradle-wrapper 允许您构建Android项目,而无需先安装Gradle。
gradle wrapper task 利用此文件来下载指定的gradle
//Project 顶级构建文件
//bulid.gradle
buildscript {//配置Gradle自己的依赖
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        //谷歌做的AS的插件 Android Gradle Plugin 3.4.0是插件版本
        //提供了Android 编译、测试、打包等等的所有task,Gradle使用它来构建项目
    }   
     //Gradle 搜索和下载自身依赖的库,Android Studio 3.0以上包括google()Maven库
    repositories {
        google{ url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }Error:SSL peer shut down incorrectly解决。
        jcenter{url 'https://maven.aliyun.com/repository/public'}
    }
}	
allprojects {//被所有模块引用的依赖
   repositories {
        google{ url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
        jcenter{url 'https://maven.aliyun.com/repository/public'}
   }
}
//app  模块级构建文件
//build.gradle
apply plugin: 'com.android.application' //这将“应用”Android插件
//Groovy语言, 这段代码其实就是调用了project对象的apply方法,传入了一个以plugin为key的map。完整写出来就是这样的:
//project.apply([plugin: 'com.android.application'])

android {//android:这是编译文件中最大的代码块,关于android 的所有特殊配置都在这里,这就是由我们前面的声明的 plugin 提供的。
    compileSdkVersion 25 //告诉gradle 用哪个SDK版本来编译,
    buildToolsVersion "26.0.0"//buildToolsVersion需要>=CompileSdkVersion; 高版本的build-tools 可以构建低版本编译的android程序
    defaultConfig {
       //defaultConfig就是程序的默认配置,注意,如果在AndroidMainfest.xml里面定义了与这里相同的属性,会以这里的为主。
        applicationId "test.alexander.ru.testapp"
        /*这里最有必要要说明的是applicationId的选项:在我们曾经定义的AndroidManifest.xml中,那里定义的包名有两个用途:
       // 作为程序的唯一识别ID,防止在同一手机装两个一样的程序,        作为我们R资源类的包名
        //在以前我们修改这个ID会导致所有用引用R资源类的地方都要修改,
       // 但是现在我们如果修改applicationId只会修改当前程序的ID,而不会去修改源码中资源文件的引用。*/
        //这applicationId是基于创建应用程序时指定的域名和项目名称,并且在Google Play商店中必须是唯一的。
        minSdkVersion 19//该值minSdkVersion是您愿意为此应用程序支持的最小Android API,
        targetSdkVersion 25//而targetSdkVersion应该是最新的Android版本。
        versionCode 1//该值versionCode应该是在将新版本的应用上传到Google Play商店之前递增的整数。与此同时,这个值applicationId告诉Google,这是一个现有应用程序的新版本,而不是一个新的应用程序。
        versionName "1.0"//该versionName值用于您自己的内部版本跟踪。
        testInstrumentationRunner//该testInstrumentationRunner属性配置为使用为Android应用程序配置的JUnit 4测试运行器。
            "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
    //buildTypes:定义了编译类型,针对每个类型我们可以有不同的编译配置,不同的编译配置对应的有不同的编译命令。
    //默认的有debug、release 的类型。
         release {//默认情况下,Android应用程序支持两种构建类型,debug和release。debug正在使用的所有默认设置。
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {//dependencies:是属于gradle 的依赖配置。它定义了当前项目需要依赖的其他库。
    compile fileTree(dir: 'libs', include: ['*.jar'])//是一个fileTree依赖,它将文件libs夹中的任何jar文件添加到编译类路径中
//testCompile依赖关系只包含最新稳定的JUnit 4分发
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {//该androidTestCompile依赖性是指咖啡的测试库,用于Android应用程序的集成测试。在这种情况下,请求没有support-annotations通常包含的库的Espresso ,因为已经通过其他依赖关系包含不同的版本。
        exclude group: 'com.android.support', module: 'support-annotations'//JUnit类和测试注释将在编译时在src/test/java层次结构中可用。
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    //将Android兼容性库添加到项目中。这允许您在任何Android应用程序中使用与SDK版本7一样的材料设计主题和其他功能
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'//将新的约束布局添加到项目中。结合兼容性库,您可以创建具有最新布局功能的应用程序
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值