問題:切換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內的相關參數統一管理如下圖:
參數統一管理.png
解決:
在根目錄下創建一個config.gradle文件,用于保存所有相關的配置,如圖:
配置文件.png
關鍵的一點:需要將這個文件添加進項目的build.gradle文件中,這樣才能使用,過程是:在項目的build.gradle文件中添加
apply(from: "config.gradle")
或者:apply from: "config.gradle"http://這樣就可以全局使用
問題:在點擊運行的時候提示如下:
異常.png
解決:如圖
setting.png
將箭頭指向的地方取消選中即可
問題:如何對debug、release等不同環境的包進行不同的設置,比如設置APP名字,debug為測試版,release為正式版
解決:
在app文件夾下創建debug、release文件夾,分別對應debug版本和release版本,在文件內部使用和main文件下相同的文件進行配置,經文件內的參數修改就可以使用到不同的版本APP上,如圖:
設置.png
如圖的功能只是,在debug版本中將APP名字修改了,其他不變,如果想修改其他屬性,可以在對應的文件里進行復制、修改
相關配置可以參考:GradleLearn
推薦文章:
http://www.lxweimin.com/p/49c7de5bb029
http://www.codeceo.com/article/tag/gradle