gradle 和 android plugin fore gradle 都是独立于android studio 运行。
构建流程图
您可以在模块级 build.gradle 文件的 android {} 代码块内部创建和配置构建类型。当您创建新模块时,Android Studio 会自动为您创建调试和发布这两种构建类型。尽管调试构建类型不会出现在构建配置文件中,Android Studio 会将其配置为 debuggable true。这样,您可以在安全的 Android 设备上调试应用并使用通用调试密钥库配置 APK 签署。
如果您希望添加或更改特定设置,您可以将调试构建类型添加到您的配置中。以下示例为调试构建类型指定了 applicationIdSuffix,并配置了一个使用调试构建类型中的设置进行初始化的“jnidebug”构建类型。
android { ... defaultConfig {...} buildTypes { release { minifyEnabled true PRoguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { applicationIdSuffix ".debug" } /** * The 'initWith' property allows you to copy configurations from other build types, * so you don't have to configure one from the beginning. You can then configure * just the settings you want to change. The following line initializes * "jnidebug" using the debug build type, and changes only the * applicationIdSuffix and versionNameSuffix settings. */ jnidebug { // This copies the debuggable attribute and debug signing configurations. initWith debug applicationIdSuffix ".jnidebug" jniDebuggable true } }} buildTypes 可以配置各个版本需要的相应属性,例如发布版本需要 混淆, 而debug版本不需要, 或者其他自定义版本的属性。 在buildTypes区域中可以配置许多构建的属性,例如: 混淆文件 --proguardFiles、是否过滤掉未使用的资源 -- shrinkResources (默认为false: 未使用 是指代码中从未引用过的resource资源)、开启多个Dex文件--multiDexEnabled (在android 5.0之前需要使用,用于突破65K方法数)等。更多的属性可以参考官方文档。创建产品风味与创建构建类型类似:只需将它们添加到 productFlavors {} 代码块并配置您想要的设置。产品风味支持与 defaultConfig 相同的属性,这是因为 defaultConfig 实际上属于 ProductFlavor 类。这意味着,您可以在 defaultConfig {} 代码块中提供所有风味的基本配置,每种风味均可替换任何默认值,例如 applicationId。
注:您仍需在 main/ 清单文件中使用 package 属性指定程序包名称。您还必须在源代码中使用此程序包名称引用 R 类或者解析任何相关的 Activity 或服务注册。这样,您可以使用 applicationId 为每个产品风味分配一个唯一的 ID,以用于打包和分发,而不必更改您的源代码。以下代码示例创建了一个“演示”和“完整”产品风味并赋予其自己的 applicationId 和 versionName
android { ... defaultConfig {...} buildTypes {...} productFlavors { demo { applicationId "com.example.myapp.demo" versionName "1.0-demo" } full { applicationId "com.example.myapp.full" versionName "1.0-full" } } }配置此参数之后,gradle可以根据你的配置生成相应的apk,每一个配置对应的一个apk。 配置完成后, 你也可以单独的为每个flavors配置他们独有的功能代码。可以参考 官网的 “构建配置”章节里面的”创建用于构建变体的源集” 小节
除非您为发布构建显式定义签署配置,否则,Gradle 不会签署发布构建的 APK。您可以轻松创建发布密钥并使用 Android Studio 签署发布构建类型。
要使用 Gradle 构建配置为您的发布构建类型手动配置签署配置:
1.创建密钥库。密钥库是一个二进制文件,它包含一组私钥。您必须将密钥库存放在安全可靠的地方。 2.创建私钥。私钥代表将通过应用识别的实体,如某个人或某家公司。 3.将签署配置添加到模块级 build.gradle 文件中:
...android { ... defaultConfig {...} signingConfigs { release { storeFile file("myreleasekey.keystore") storePassWord "password" keyAlias "MyReleaseKey" keyPassword "password" } } buildTypes { release { ... signingConfig signingConfigs.release } }}因为andorid要求所有的apk先签名才能安装。所有你可以在这里配置相应的秘钥,用于发布 和 调试版本。
新闻热点
疑难解答