AndroidStudio Gradle常见配置

AndroidStudio Gradle常见配置:

Question 1:Error:Execution failed for task ‘:dexAppDebug’.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:
Process ‘command ‘C:Program FilesJavajdk1.8.0_25 in java.exe’’ finished with non-zero exit value 1
Answer 1:
电脑配置不够用,修改app->build.gradle

dexOptions {
    javaMaxHeapSize "xx"
}

Question 2:说文件不是PNG文件,可是没有说是哪一张图。

解决方法

在build.gradle里加入

android {
    aaptOptions {         
        cruncherEnabled = false     
    }
}

Question 3:解决重复加载第三方那个jar包问题

packagingOptions {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
    exclude 'META-INF/LGPL2.1'
}

Question 4:调试快捷键

Android studio debug常用快捷键
1. 【Ctrl+Shift+B】:在当前行设置断点或取消设置的断点。
2. 【F11】:调试最后一次执行的程序。
3. 【Ctrl+F11】:运行最后一次执行的程序。
4. 【F5】:跟踪到方法中,当程序执行到某方法时,可以按【F5】键跟踪到方法中。
5. 【F6】:单步执行程序。
6. 【F7】:执行完方法,返回到调用此方法的后一条语句。
7. 【F8】:继续执行,到下一个断点或程序结束。

Question 5:兼容x86 armeabi架构

主module中添加

defaultConfig {
	multiDexEnabled true  // 分包处理  65433
        ndk {
            abiFilters 'x86','armeabi'  //兼容x86cpu架构  需要什么样的架构就添加什么样的
        }
    }
android{
	splits {
        abi {
            reset()
            enable false
            universalApk false
            include "armeabi-v7a", "x86"
        }
    }
}

Question 6:Debug 和 release 都使用同一个 keystory

主Module中添加

debug{
    signingConfig signingConfigs.release
}

另外附上Gradle常见配置

android {
    signingConfigs {
        release {
            keyAlias 'wuliudidi'
            keyPassword 'wuliudidi2015'
            storeFile file('/Users/mac/Desktop/wuliudidi')
            storePassword 'wuliudidi2015'
        }
        debug{
            keyAlias 'wuliudidi'
            keyPassword 'wuliudidi2015'
            storeFile file('/Users/mac/Desktop/wuliudidi')
            storePassword 'wuliudidi2015'
        }
    }
    buildTypes {
    debug {
        buildConfigField "boolean", "LOG_DEBUG", "true"
        minifyEnabled false
        zipAlignEnabled false
        shrinkResources false
    }
    release {
        buildConfigField "boolean", "LOG_DEBUG", "false"
        minifyEnabled false
        zipAlignEnabled false
        signingConfig signingConfigs.release
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt'

    }
}
}

Question 7:android studio 3.0 无厘头报错 :Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aap

在工程的gradle.properties文件中添加以下命令:

android.enableAapt2=false

然后点击Sync Now

Question 7:Gradle编译禁用静态代码检查Lint报错

用gradle build命令时,经常由于lint(静态代码检查)错误终止,而这些错误又经常是第三方库中的,我们可以跳过这些错误,继续编译。在build.gradle中加入如下代码:

android {
    compileSdkVersion 23
    buildToolsVersion 21.1.2
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}

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

Question 8:引入其他的module

compile project(':easeui')
compile project(path: ':easeui')

Question 9:Manifest值冲突解决方法

方法1:

Manifest.xml的application标签下添加

tools:replace=”android:icon,android:theme,android:allowBackup”

多个属性用,隔开,并且记住在manifest根标签上加入

xmlns:tools=”http://schemas.android.com/tools”

否则会找不到namespace

方法2:

在build.gradle根标签上加上

useOldManifestMerger true

Question 10:Androidstudio端口被占用

netstat -ano | findstr "5037"

Question 11:自定义Dialog和view,有时候遇到dialog背景为白色,不是透明的

dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
发布了53 篇原创文章 · 获赞 14 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/liuxingyuzaixian/article/details/89742242