在将我的Android应用程序发布到生产环境之前,我应该在build.gradle中进行哪些更改

时间:2017-03-31 18:51:06

标签: android android-gradle

这更多的是要求对我的build.gradle进行更改的建议,因为我即将发布我的第一个Android应用程序。搜索了很多但没有令人满意的解决方案。这是我的gradle文件

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
maven { url 'https://maven.fabric.io/public' }
}


android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 19
    targetSdkVersion 25
    multiDexEnabled true
    versionCode 1
    versionName "1.0"
    resConfigs "en_US", "hi_IN"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE-FIREBASE.txt'
    exclude 'META-INF/NOTICE'
}

}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile('com.digits.sdk.android:digits:2.0.6@aar') {
    transitive = true;

}
compile('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') {
    transitive = true;
}
compile('io.fabric.sdk.android:fabric:1.3.10@aar') {
    transitive = true;
}
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:customtabs:25.3.1'
compile 'com.android.support:support-v13:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:gridlayout-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:support-annotations:25.3.1'
compile 'de.hdodenhof:circleimageview:1.3.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.code.gson:gson:2.7'
compile 'com.google.android.gms:play-services-location:10.2.1'
compile 'com.google.android.gms:play-services-places:10.2.1'
compile 'com.google.firebase:firebase-database:10.2.1'
compile 'com.google.firebase:firebase-core:10.2.1'
compile 'com.google.firebase:firebase-auth:10.2.1'
compile 'com.google.firebase:firebase-messaging:10.2.1'
compile 'com.google.firebase:firebase-crash:10.2.1'
compile 'com.firebaseui:firebase-ui-database:1.2.0'
compile 'com.google.firebase:firebase-storage:10.2.1'
compile 'com.google.firebase:firebase-appindexing:10.2.1'
compile ('io.branch.sdk.android:library:2.5.9') {
    transitive = true;
    exclude module: 'answers-shim';
}

}
apply plugin: 'com.google.gms.google-services'

每一个建议都很重要,因为它对于像我这样计划在游戏商店发布第一个版本的其他初学者也会有所帮助。

1 个答案:

答案 0 :(得分:0)

我可以看到您在发布模式下启用了专业防护。我建议你考虑以下来自android doc的声明

要获得更多代码缩减,请尝试位于同一位置的proguard-android-optimize.txt文件。它包含相同的ProGuard规则,但其他优化功能可在字节码级别(内部和跨方法)执行分析,从而进一步降低APK大小并帮助其更快地运行。

更改此

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro

到这个

proguardFiles getDefaultProguardFile('**proguard-android-optimize.txt**'), 'proguard-rules.pro'

同时将此添加到发布模式

shrinkResources true

如果你还没有,请不要忘记添加专业防守规则。

执行以上两项操作会使您的应用程序变得更小并且更加优化。