猿问
下载APP

请问该如何创建一个gradle配置文件config.gradle?

如何创建一个gradle配置文件config.gradle


12345678_0001
浏览 134回答 3
3回答

MMMHUHU

使用的环境是: Eclipse IDE for Java EE Developers Kepler + JDK 1.7. 好, 下面正式开始: 1.安装 Gradle 插件. 在 Eclipse Marketplace 中搜索 Gradle, 选择安装 Gradle Integration for Eclipse 2.新建一个 Dynamic Web Project, 在项目根目录

慕哥9229398

include ':app2'project(':app2').projectDir = new File('path/to/app2')12Module中的build.gradle//设置脚本的运行环境buildscript {//支持java 依赖库管理(maven/ivy),用于项目的依赖。repositories {mavenCentral()}//依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件dependencies {classpath 'com.android.tools.build:gradle:0.4'}}//声明构建的项目类型,这里当然是android了apply plugin: 'android'//设置编译android项目的参数android {compileSdkVersion 17buildToolsVersion "17"defaultConfig {minSdkVersion 8targetSdkVersion 17}//Android默认配置sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res']assets.srcDirs = ['assets']}//测试所在的路径,这里假设是tests文件夹,没有可以不写这一行instrumentTest.setRoot('tests')}//这个是解决lint报错的代码lintOptions {abortOnError false}/*** 签名设置*/signingConfigs {myConfigs {storeFile file("签名文件地址")keyAlias "..."keyPassword "..."storePassword "..."}}/*** 混淆设置*/buildTypes {release {signingConfig signingConfigs.myConfigsrunProguard trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}/*** 渠道打包(不同包名)*/productFlavors {qqqq {applicationId = '包名'}hhhhh {applicationId='包名'}}}/*** .so文件的导入*/task copyNativeLibs(type: Copy) {from fileTree(dir: 'libs', include: 'armeabi/*.so') into 'build/lib'}tasks.withType(Compile) {options.encoding = "UTF-8"}tasks.withType(Compile) {compileTask -> compileTask.dependsOn copyNativeLibs}clean.dependsOn 'cleanCopyNativeLibs'tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->pkgTask.jniFolders = [new File(buildDir, 'lib')]}//依赖库dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596一些关键词说明:android用来指定Android打包插件的相关属性,其包含如下节点compileSdkVersion(apiLevel):设置编译时用的Android版本buildToolsVersion(buildToolsVersionName):设置编译时使用的构建工具的版本defaultConfig:设置一些默认属性,其可用属性是buildTypes和ProductFlavors之和sourceSets:配置相关源文件的位置,当你的项目的目录结构跟默认的有区别但又不想改的时候sourceSets就派上用场了– aidl 设置aidi的目录– assets 设置assets资源目录– compileConfigurationName The name of the compile configuration for this source set.– java Java源代码目录– jni JNI代码目录– jniLibs 已编译好的JNI库目录– manifest 指定清单文件– name The name of this source set.– packageConfigurationName The name of the runtime configuration for this source set.– providedConfigurationName The name of the compiled-only configuration for this source set.– renderscript Renderscript源代码目录– res 资源目录– setRoot(path) 根目录signingConfigs:配置签名信息– keyAlias 签名的别名– keyPassword 密码– storeFile 签名文件的路径– storePassword 签名密码– storeType 类型buildTypes:配置构建类型,可打出不同类型的包,默认有debug和release两种,你还可以在增加N种– applicationIdSuffix 修改applicationId,在默认applicationId的基础上加后缀。在buildType中修改applicationId时只能加后缀,不能完全修改– debuggable 设置是否生成debug版的APK– jniDebuggable 设置生成的APK是否支持调试本地代码– minifyEnabled 设置是否执行混淆– multiDexEnabled Whether Multi-Dex is enabled for this variant.– renderscriptDebuggable 设置生成的APK是否支持调试RenderScript代码– renderscriptOptimLevel 设置RenderScript优化级别– signingConfig 设置签名信息– versionNameSuffix 修改版本名称,在默认版本名称的基础上加后缀。在buildType中修改版本名称时只能加后缀,不能完全修改– zipAlignEnabled 设置是否对APK包执行ZIP对齐优化– proguardFile(proguardFile) 添加一个混淆文件– proguardFiles(proguardFileArray) 添加多个混淆文件– setProguardFiles(proguardFileIterable) 设置多个混淆文件productFlavors:配置不同风格的APP,在buildTypes的基础上还可以让每一个类型的APP拥有不同的风格,所以最终打出的APK的数量就是buildTypes乘以productFlavors– applicationId 设置应用ID– multiDexEnabled Whether Multi-Dex is enabled for this variant.signingConfig Signing config used by this product flavor.– testApplicationId 设置测试时的应用ID– testFunctionalTest See instrumentation.– testHandleProfiling See instrumentation.– testInstrumentationRunner Test instrumentation runner class name.– versionCode 设置版本号– versionName 设置版本名称– minSdkVersion(int minSdkVersion) 设置兼容的最小SDK版本– minSdkVersion(String minSdkVersion) 设置兼容的最小版本– proguardFile(proguardFile) 添加一个混淆文件– proguardFiles(proguardFileArray) 添加多个混淆文件– setProguardFiles(proguardFileIterable) 设置多个混淆文件– targetSdkVersion(int targetSdkVersion) 设置目标SDK版本– targetSdkVersion(String targetSdkVersion) 设置目标SDK版本testOptions:设置测试相关属性– reportDir 设置测试报告的目录– resultsDir 设置测试结果的目录– aaptOptions:设置AAPT的属性– failOnMissingConfigEntry Forces aapt to return an error if it fails to find an entry for a configuration.– ignoreAssets Pattern describing assets to be ignore.– noCompress Extensions of files that will not be stored compressed in the APK.– useNewCruncher Whether to use the new cruncher.lintOptions:设置Lint的属性– abortOnError 设置是否在lint发生错误时终止构建– absolutePaths Whether lint should display full paths in the error output. By default the paths are relative to the path lint was invoked from.– check The exact set of issues to check, or null to run the issues that are enabled by default plus any issues enabled via LintOptions.getEnable() and without issues disabled via LintOptions.getDisable(). If non-null, callers are allowed to modify this collection.– checkAllWarnings Returns whether lint should check all warnings, including those off by default.– checkReleaseBuilds Returns whether lint should check for fatal errors during release builds. Default is true. If issues with severity “fatal” are found, the release build is aborted.– disable The set of issue id’s to suppress. Callers are allowed to modify this collection.– enable The set of issue id’s to enable. Callers are allowed to modify this collection. To enable a given issue, add the issue ID to the returned set.– explainIssues Returns whether lint should include explanations for issue errors. (Note that HTML and XML reports intentionally do this – – – unconditionally, ignoring this setting.)– htmlOutput The optional path to where an HTML report should be written.– htmlReport Whether we should write an HTML report. Default true. The location can be controlled by LintOptions.getHtmlOutput().– ignoreWarnings Returns whether lint will only check for errors (ignoring warnings).– lintConfig The default configuration file to use as a fallback.– noLines Whether lint should include the source lines in the output where errors occurred (true by default).– quiet Returns whether lint should be quiet (for example, not write informational messages such as paths to report files written).– severityOverrides An optional map of severity overrides. The map maps from issue id’s to the corresponding severity to use, which must be – “fatal”, “error”, “warning”, or “ignore”.– showAll Returns whether lint should include all output (e.g. include all alternate locations, not truncating long messages, etc.)– textOutput The optional path to where a text report should be written. The special value “stdout” can be used to point to standard output.– textReport Whether we should write an text report. Default false. The location can be controlled by LintOptions.getTextOutput().– warningsAsErrors Returns whether lint should treat all warnings as errors.– xmlOutput The optional path to where an XML report should be written.– xmlReport Whether we should write an XML report. Default true. The location can be controlled by LintOptions.getXmlOutput().– check(id) Adds the id to the set of issues to check.– check(ids) Adds the ids to the set of issues to check.– disable(id) Adds the id to the set of issues to enable.– disable(ids) Adds the ids to the set of issues to enable.– enable(id) Adds the id to the set of issues to enable.– enable(ids) Adds the ids to the set of issues to enable.– error(id) Adds a severity override for the given issues.– error(ids) Adds a severity override for the given issues.– fatal(id) Adds a severity override for the given issues.– fatal(ids) Adds a severity override for the given issues.– ignore(id) Adds a severity override for the given issues.– ignore(ids) Adds a severity override for the given issues.– warning(id) Adds a severity override for the given issues.– warning(ids) Adds a severity override for the given issues.dexOptions– incremental Whether to enable the incremental mode for dx. This has many limitations and may not work. Use carefully.– javaMaxHeapSize Sets the -JXmx* value when calling dx. Format should follow the 1024M pattern.– jumboMode Enable jumbo mode in dx (–force-jumbo).– preDexLibraries Whether to pre-dex libraries. This can improve incremental builds, but clean builds may be slower.compileOptions:设置编译的相关属性– sourceCompatibility Language level of the source code.– targetCompatibility Version of the generated Java bytecode.packagingOptions:设置APK包的相关属性– excludes The list of excluded paths.– pickFirsts The list of paths where the first occurrence is packaged in the APK.– exclude(path) Adds an excluded paths.– pickFirst(path) Adds a firstPick path. First pick paths do get packaged in the APK, but only the first occurrence gets packaged.– jacoco:设置JaCoCo的相关属性– version 设置JaCoCo的版本splits:设置如何拆分APK(比如你想拆分成arm版和x86版)– abi ABI settings.– abiFilters The list of ABI filters used for multi-apk.– density Density settings.– densityFilters The list of Density filters used for multi-apk.dependencies:配置依赖

繁花如伊

关于怎么将一个module作为lib(依赖包),然后在当前module中引入依赖包代码,属于Android Studio引入jar的其中一种方式,被称为**本地依赖库**,具体做法:1. 打开当前module的build.gradle文件,在Dependencies标签内,输入下面代码1compile project(':mylibrary')2. `mylibrary`表示需要引入的项目,这个项目可以是一个module library或是一个module application(一个Android项目可以包含多个module)3. 想要将一个module application转换成一个module library,打开对应的`build.gradle`文件,只需要修改顶端代码123apply plugin: 'com.android.application'改为:apply plugin: 'com.android.library'4. 完成module application和module library之间的转化
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答