密碼 在做版本release時你app的 build.gradle
你需要定義 signingConfigs
.此時你應該避免以下內容:
不要做這個 . 這會出現在版本控制中。
signingConfigs { release { storeFile file("myapp.keystore") storePassword "password123" keyAlias "thekey" keyPassword "password789" } }
而是,建立一個不加入版本控制系統的gradle.properties
文件。
KEYSTORE_PASSWORD=password123
KEY_PASSWORD=password789
那個文件是gradle自動引入的,你可以在buld.gradle
文件中使用,例如:
signingConfigs { release { try { storeFile file("myapp.keystore") storePassword KEYSTORE_PASSWORD keyAlias "thekey" keyPassword KEY_PASSWORD } catch (ex) { throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.") } } }
完整的例子:
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.example.jack.umengfeedback" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } signingConfigs { release { try { storeFile file("myapp.keystore") storePassword KEYSTORE_PASSWORD keyAlias "thekey" keyPassword KEY_PASSWORD } catch (ex) { throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.") } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { flatDir { dirs 'libs' //this way we can find the .aar file in libs folder } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.1.1' compile project(':umenglib') // 依賴的aar compile(name:'kalelibrary', ext:'aar') }