1、本地gradle版本要與android studio中的gradle插件相匹配,否則在android studio外打包項目時會提示錯誤。
將本地版本由4.5.1修改爲5.5.1,並修改.bash_profile文件中的gradle_name的路徑。
lishuaikangdeMacBook-Pro:waiter lishuaikang$ gradle assembleDebug
Starting a Gradle Daemon, 1 busy and 1 incompatible Daemons could not be reused, use --status for details
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/lishuaikang/AndroidStudioProjects/waiter/app/build.gradle' line: 1
* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
> Minimum supported Gradle version is 5.1.1. Current version is 4.5.1. If using the gradle wrapper, try editing the distributionUrl in /Users/lishuaikang/AndroidStudioProjects/waiter/gradle/wrapper/gradle-wrapper.properties to gradle-5.1.1-all.zip
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
android項目gradle打包編譯出錯,提示android gradle tool支持最低的gradle版本爲5.1.1。但是我本地安裝的版本是4.5.1。
2、通過命令可以打開發、生產的兩個不同版本。修改項目build.gradle文件:
signingConfigs {
debug {
storeFile file('/Users/lishuaikang/.android/debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
// v1SigningEnabled true
// v2SigningEnabled true
}
release {
storeFile file('/Users/lishuaikang/Documents/release.keystore')
storePassword 'android'
keyAlias 'androidreleasekey'
keyPassword 'android'
// v1SigningEnabled true
// v2SigningEnabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
}
分別配置上證書的路徑和密碼、別名。
執行打包命令:
gradle assembleDebug
gradle assembleRelease
分別是開發版本和生產版本。
但是報錯了:
Failed to generate v1 signature
不知掉原因是什麼。
刪除老的證書,重新生成證書。好了。
3、證書的生成。
lishuaikangdeMacBook-Pro:Documents lishuaikang$ keytool -genkey -alias androidreleasekey -keyalg RSA -validity 10000 -keystore release.keystore
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什麼?
[Unknown]: shuaikangli
您的組織單位名稱是什麼?
[Unknown]: hq
您的組織名稱是什麼?
[Unknown]: hq
您所在的城市或區域名稱是什麼?
[Unknown]: hangzhou
您所在的省/市/自治區名稱是什麼?
[Unknown]: zhejiang
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: zh
CN=shuaikangli, OU=hq, O=hq, L=hangzhou, ST=zhejiang, C=zh是否正確?
[否]: 是
輸入 <androidreleasekey> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
Warning:
JKS 密鑰庫使用專用格式。建議使用 "keytool -importkeystore -srckeystore release.keystore -destkeystore release.keystore -deststoretype pkcs12" 遷移到行業標準格式 PKCS12。
lishuaikangdeMacBook-Pro:Documents lishuaikang$ ls
apache-maven-3.6.0 gradle-4.5.1 gradle-5.5.1 rabbitmq_server-3.6.15 release.keystore zookeeper-3.4.12
lishuaikangdeMacBook-Pro:Documents lishuaikang$
具體就不解釋了,按照提示來就行。
keytool -genkey -alias androidreleasekey -keyalg RSA -validity 10000 -keystore release.keystore
命令