AndroidStudio Gradle常见配置:
文章目录
- AndroidStudio Gradle常见配置:
- Question 1:Error:Execution failed for task ':dexAppDebug'.
- Question 2:说文件不是PNG文件,可是没有说是哪一张图。
- Question 3:解决重复加载第三方那个jar包问题
- Question 4:调试快捷键
- Question 5:兼容x86 armeabi架构
- Question 6:Debug 和 release 都使用同一个 keystory
- Question 7:android studio 3.0 无厘头报错 :Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aap
- Question 7:Gradle编译禁用静态代码检查Lint报错
- Question 8:引入其他的module
- Question 9:Manifest值冲突解决方法
- Question 10:Androidstudio端口被占用
- Question 11:自定义Dialog和view,有时候遇到dialog背景为白色,不是透明的
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);