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
相關文章
相關標籤/搜索