Android studio 不一样渠道打包

配置Gradlejava

android {

	signingConfigs {

		release {
			keyAlias '***'
			keyPassword '***'
			storeFile file('../key/***.jks')
			storePassword '***'
		}

		dev {
			keyAlias '***'
			keyPassword '***'
			storeFile file('../key/***.jks')
			storePassword '***'
		}
	}
	compileSdkVersion 23
	buildToolsVersion "23.0.2"

	defaultConfig {
		applicationId "com.***.***"
		minSdkVersion 15
		targetSdkVersion 22
		versionCode 1
		versionName "1.0.1"

	}

	buildTypes {
		release {
			//日志
			buildConfigField "boolean", "LOG_DEBUG", "true"
			//混淆
			minifyEnabled true
			//Zipalign优化
			zipAlignEnabled true
			//移除无用的resource文件
			shrinkResources true
			//签名
			signingConfig signingConfigs.release
			//的混淆文件
			proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
		}
		debug {
			buildConfigField "boolean", "LOG_DEBUG", "true"
			minifyEnabled false
			zipAlignEnabled false
			shrinkResources false
			signingConfig signingConfigs.dev
			proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
		}
	}

	productFlavors {
		dev {
			applicationId "com.***.***.test"
			versionName "1.0.2"
		}

		product {
			applicationId "com.***.cmat"
			versionName "1.0.2"
		}
	}
}

目录结构node

--app
----src
------dev
--------java
----------Config.java
--------res
--------AndroidManifest.xml
------main
--------java
----------Config.java(打包时删除)
--------res
--------AndroidManifest.xml
------product
--------java
----------Config.java
--------res
--------AndroidManifest.xml
----build.gradle
--key

打包注意android

1)打包时删除main目录下的Config.java文件
2)AndroidManifest.xml文件中的要替换的配置须要设置tools:node="replace"属性

Android Studio打包app

1)种:Build Variants 中选择相应的Flavor,运行Run 'app'ide

2)种:Gradle下的assembleRelease或其余gradle

参考优化

Manifest Merger文件设置:http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-tools:node-markers
相关文章
相关标签/搜索