gradle学习配置问题记录如下:
问题1.配置过程中出现如下错误
Error:Execution failed for task ':app:mergeDebugResources'.
> [string/app_name] C:\Users\Administrator\Desktop\test\csdn1\app\src\main\res\values\strings.xml [string/app_name] C:\Users\Administrator\Desktop\test\csdn1\app\build\generated\res\resValues\debug\values\generated.xml: Error: Duplicate resources
提示我资源重复,这个问题是因为我在gradle中增加了resValue属性,配置如下:
buildTypes {
release {
buildConfigField "String", "URL", "\"http//baidu/com\""//配置一些属性值 BuildConfig.URL 取到结果值,这个一般用来控制线上、开发接口
buildConfigField "boolean", "LOAG_ABLE", "false"//配置boolean类型的值
resValue "string", "app_name", "正式报"//配置一些字符串,和在string.xml中配置效果一样,使用也一样
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
buildConfigField "String", "URL", "\"http//baidu/com\""//字符串必须要转义
buildConfigField "boolean", "LOAG_ABLE", "false"
resValue "string", "app_name", "测试包"
pseudoLocalesEnabled true
applicationIdSuffix '.dev'
versionNameSuffix '.dev'
}
}
我本来计划是app名称动态改变,结果提示我上面错误。解决方法:将res/values/strings.xml文件中的app_name删除掉就可以了,因为这两种配置方式最终的效果相同,所以会造成冲突,保留一个即可。
问题2.如何导入一个.aar文件到项目中
1.将aar文件放到libs文件夹下:
2.以下操作都是在app下的gradle文件中进行,android标签下增加文件路径:
repositories {
flatDir{
dirs 'libs'
}
}
3.依赖部分增加依赖:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile(name:'autolayout', ext:'aar')//增加依赖
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:recyclerview-v7:23.0.0'
}
问题3.