Gradle(apk通过gradle签名)例子app/build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion '23.0.2'
defaultConfig {
applicationId "com.maka.app"
minSdkVersion 16
targetSdkVersion 22
versionCode 16
versionName '2.0.0'
//dex突破65535的限制
multiDexEnabled true
}
dexOptions {
jumboMode = true
incremental true
javaMaxHeapSize "4g"
preDexLibraries = false
incremental true
}
signingConfigs {
debug {
storeFile file("../key.jks")
storePassword "helloworld"
keyAlias "helloworld"
keyPassword "helloworld"
}
}
packagingOptions {
exclude 'META-INF/LICENCE.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
buildTypes {
debug {
// 显示Log
buildConfigField "boolean", "LOG_DEBUG", "true"
versionNameSuffix "-debug"
minifyEnabled false
zipAlignEnabled true
shrinkResources false
signingConfig signingConfigs.debug
manifestPlaceholders = [
UMENG_APP_KEY : "556ac653162s58e06c0000218",
UMENG_APP_SECRET: "2a231041d6aa10ec2b2s933003135a7"
]
//Server config
buildConfigField "boolean", "SELECT_SERVER", "true"
buildConfigField "String", "TEST_IP", "\"http://test.api.simlinux.com/\""
buildConfigField "String", "TEST_PROJECT_URL", "\"http://test.viewer.simlinux.com/k/\""
buildConfigField "String", "TEST_PICTURE_URL", "\"http://test.img1.simlinux.com/\""
buildConfigField "String", "TEST_RES_URL", "\"http://test.res.simlinux.com/\""
buildConfigField "String", "FORMAL_IP", "\"http://api.simlinux.com/\""
buildConfigField "String", "FORMAL_PROJECT_URL", "\"http://viewer.simlinux.com/k/\""
buildConfigField "String", "FORMAL_PICTURE_URL", "\"http://img1.simlinux.com/\""
buildConfigField "String", "FORMAL_RES_URL", "\"http://res.simlinux.com/\""
}
release {
// 不显示Log
buildConfigField "boolean", "LOG_DEBUG", "false"
minifyEnabled true
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
proguardFile 'proguard-project.txt'
debuggable false
shrinkResources false
signingConfig signingConfigs.debug
manifestPlaceholders = [
UMENG_APP_KEY : "556ac6s3162358e06c0000218",
UMENG_APP_SECRET: "2a231041d6aa10ec2b2s933003135a7"
]
//Server config
buildConfigField "boolean", "SELECT_SERVER", "false"
buildConfigField "String", "TEST_IP", "\"\""
buildConfigField "String", "TEST_PROJECT_URL", "\"\""
buildConfigField "String", "TEST_PICTURE_URL", "\"\""
buildConfigField "String", "TEST_RES_URL", "\"\""
buildConfigField "String", "FORMAL_IP", "\"http://api.simlinux.com/\""
buildConfigField "String", "FORMAL_PROJECT_URL", "\"http://viewer.simlinux.com/k/\""
buildConfigField "String", "FORMAL_PICTURE_URL", "\"http://img1.simlinux.com/\""
buildConfigField "String", "FORMAL_RES_URL", "\"http://res.simlinux.com/\""
}
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
productFlavors {
}
}
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs
}
}
dependencies {
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.github.japgolly.android:svg-android:2.0.6'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.github.rey5137:material:1.2.1'
compile 'com.squareup.okhttp:okhttp-apache:2.4.0'
compile(name: 'vds-sdk-release', ext: 'aar')
compile 'com.android.support:multidex:1.0.0'
compile project(':PushSDK')
compile 'com.google.zxing:core:3.2.1'
compile 'com.android.support:recyclerview-v7:24.0.0-alpha1'
compile 'com.rengwuxian.materialedittext:library:2.1.4'
}