问题:切换build模式为release显示编译不通过,提示如下:
the apk for your currently selected variant is not signed
解决:
在创建gradle时,在build.gradle文件内的buildTypes里面需要配置:
debug:signingConfig signingConfigs.debug
release:signingConfig signingConfigs.release
问题:如何创建多个不同版本如debug、release等
解决:
通过设置:
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
signingConfig signingConfigs.debug
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
//继承自debug的设置
staging.initWith(buildTypes.debug)
staging {
applicationIdSuffix ".staging"
versionNameSuffix "-staging"
debuggable = false
}
}
这时就会在右下角出现下拉的三个选项,分别为debug、release、staging
问题:如何设置自动签名信息
解决:
通过设置:
signingConfigs {
debug {
storeFile file(STORE_File_DEBUG)
storePassword STORE_PASSWORD
keyAlias KEY_ALIAS
keyPassword KEY_PASSWORD
}
release {
storeFile file(STORE_File)
storePassword STORE_PASSWORD
keyAlias KEY_ALIAS
keyPassword KEY_PASSWORD
}
staging {
storeFile file(STORE_File_DEBUG)
storePassword STORE_PASSWORD
keyAlias KEY_ALIAS
keyPassword KEY_PASSWORD
}
}
里面的参数是在gradle.properties文件内进行的配置,如下:
STORE_File=E:/works/test/FirstTestAppKeyStore/FirstTestApp.jks//签名文件的路径
STORE_File_DEBUG=E:/works/test/FirstTestAppKeyStore/FirstTestAppDebug.jks//签名文件的路径
STORE_PASSWORD=123456//设置密码
KEY_PASSWORD=123456//key密码
KEY_ALIAS=key0//key的值
问题:如何将build.gradle内的相关参数统一管理如下图:

解决:
在根目录下创建一个config.gradle文件,用于保存所有相关的配置,如图:

关键的一点:需要将这个文件添加进项目的build.gradle文件中,这样才能使用,过程是:在项目的build.gradle文件中添加
apply(from: "config.gradle")
或者:apply from: "config.gradle"//这样就可以全局使用
问题:在点击运行的时候提示如下:

解决:如图

将箭头指向的地方取消选中即可
问题:如何对debug、release等不同环境的包进行不同的设置,比如设置APP名字,debug为测试版,release为正式版
解决:
在app文件夹下创建debug、release文件夹,分别对应debug版本和release版本,在文件内部使用和main文件下相同的文件进行配置,经文件内的参数修改就可以使用到不同的版本APP上,如图:

如图的功能只是,在debug版本中将APP名字修改了,其他不变,如果想修改其他属性,可以在对应的文件里进行复制、修改
相关配置可以参考:GradleLearn
推荐文章:
http://www.jianshu.com/p/49c7de5bb029
http://www.codeceo.com/article/tag/gradle
网友评论