Android Studio| app| build.gradle (2)

***********************************************

* app| build.gradledependencies

个人建议最好不要放jar在lib库,以及不要加下面这句

compile fileTree(include:['*.jar'], dir: 'libs')

而是用

compilefiles('libs/jikmediaplayer.jar')

***********************************************

* 因为多个 jar 包里包含了同样的文件(NOTICE.txt),导致打包时因为担心相互覆盖问题而提示出错。 尝试下在 app 下的 build.gradle 中的 android 部分增加一段配置:

packagingOptions {

    exclude 'META-INF/LICENSE.txt'

    exclude 'META-INF/NOTICE.txt'

}

***********************************************

* app| build.gradle

android {

   lintOptions {

        checkReleaseBuilds false

        abortOnError false

    }

             }

这样打包就不成问题了。checkReleaseBuilds就是在打包Release版本的时候进行检测,这里就直接关掉了,也可以打开,这样报错还会显示出来。关键的就是abortOnError一定要设为false,这样即使有报错也不会停止打包了。

十、logcat使用不习惯的问题(有时候手机程序闪退,错误信息也被清掉了)

***********************************************

apply plugin:'ros-android' 后面的名字怎么确定,搜自定义插件

//Library工程必须加载此插件。注意,加载了Android插件就不要加载Java插件了。因为Android

//插件本身就是拓展了Java插件

apply plugin:'com.android.library'

***********************************************

* app| build.gradle  Module级别的build.gradle文件

-------------

apply plugin:'com.android.application'

//引入Android App插件.//

android {

//下面的部分配置Android App相关的信息.//

    compileSdkVersion 21

//编译的SDK版本.//

    buildToolsVersion "21.1.1"

//Build Tools版本,最好选择版本号大于或等于compileSdkVersion的.//

    defaultConfig {

        applicationId"com.example.jessica.myapplication"

//application’s ID. 旧版本是 ‘packageName’.//

        minSdkVersion 16

//需要的最小API版本.//

        targetSdkVersion 21

//应用运行的API版本.//

        versionCode 1

        versionName "1.0"

    }

    buildTypes {

        release {

//‘BuildTypes’ 控制你App如何编译打包. 如果你想创建你自己的 build variants, 添加到这里.//

            minifyEnabled true

//是否进行混淆.//

            proguardFilesgetDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

//混淆配置.//

        }

    }

}

dependencies {

//当然Module需要的依赖关系.//

   compile fileTree(dir: 'libs', include:['*.jar'])

//依赖编译app/libs.//

   compile'com.android.support:appcompat-v7:21.0.3'

//依赖编译远端库.//

}

**

// 声明是Android程序

apply plugin:'com.android.application'

// 定义一个打包时间

def releaseTime() {

    return newDate().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))

}

android {

    // 编译SDK的版本

    compileSdkVersion 21

    // build tools的版本

    buildToolsVersion '21.1.2'

    defaultConfig {

        // 应用的包名

        applicationId "com.**.*"

        minSdkVersion 14

        targetSdkVersion 21

        versionCode 1

        versionName "1.0"

        // dex突破65535的限制

        multiDexEnabled true

        // 默认是umeng的渠道

        manifestPlaceholders =[UMENG_CHANNEL_VALUE: "umeng"]

    }

    // 移除lint检查的error

    lintOptions {

        abortOnError false

    }

    //签名配置

    signingConfigs {

        debug {

            // No debug config

        }

        release {

            storeFilefile("../yourapp.keystore")

            storePassword "yourpassword"

            keyAlias "your alias"

            keyPassword "yourpassword"

        }

    }

    buildTypes {

        debug {

            // buildConfigField 自定义配置默认值

            buildConfigField"boolean", "LOG_DEBUG", "true"

            buildConfigField"String", "API_HOST","\"http://api.test.com\""//API Hos

            versionNameSuffix"-debug"

            minifyEnabled false

            //是否zip对齐

            zipAlignEnabled false

            shrinkResources false

            signingConfig signingConfigs.debug

        }

        release {

            // buildConfigField 自定义配置默认值

            buildConfigField"boolean", "LOG_DEBUG", "false"

            buildConfigField"String", "API_HOST","\"http://api.release.com\""//API Host

            是否进行混淆

            minifyEnabled true

            zipAlignEnabled true

            // 移除无用的resource文件

            shrinkResources true

            //混淆规则文件

            proguardFilesgetDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            signingConfigsigningConfigs.release

            applicationVariants.all { variant->

                variant.outputs.each { output->

                    def outputFile =output.outputFile

                    if (outputFile != null&& outputFile.name.endsWith('.apk')) {

                        // 输出apk名称为boohee_v1.0_2015-06-15_wandoujia.apk

                        def fileName ="boohee_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"

                        output.outputFile = newFile(outputFile.parent, fileName)

                    }

                }

            }

        }

    }

    // 友盟多渠道打包

    productFlavors {

        wandoujia {}

        _360 {}

        baidu {}

        xiaomi {}

        tencent {}

        taobao {}

        ...

    }

    productFlavors.all { flavor ->

        flavor.manifestPlaceholders =[UMENG_CHANNEL_VALUE: name]

    }

}

dependencies {

    // 编译libs目录下的所有jar包

    compile fileTree(dir: 'libs', include:['*.jar'])

    compile'com.android.support:support-v4:21.0.3'

    compile 'com.jakewharton:butterknife:6.0.0'

    ...

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值