使用Gradle生成APK文件
1、编辑 app/build.gradle 文件,在 android 闭包中添加如下内容
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMxNy8wMTUyM2E3NjY1ODc5ZGViMjg1MzI3M2MyMGMzNmY1NS5wbmc%3D.png?w=700)
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzcyOS9kYWU0OWVhNDc0MGFlZTZiZTVhNTUxM2UwNzhjMDFlMS5wbmc%3D.png?w=700)
可以看到,在android闭包中添加了一个signingConfigs的闭包,在signingConfigs又添加了一个config的闭包。接着在config的闭包中配置keystore文件的各种信息
storeFile:指定keystore文件的位置
storePassword:指定密码
ketAlias:指定别名
keyPassword:指定别名密码
2、配置好签名信息后,接下来需要在生成正式版APK的时候去应用这个配置就可以了,如下图所示:
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ3Ni9jZGE1NWZiNzIwN2U0M2FmYWFhYzliMTNiZDg2OGIzYy5wbmc%3D.png?w=700)
3、生成APK文件。点击右侧工具栏的Gradle--项目名--:app--Tasks--build,如图所示
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY4OS9lZjE2MzhhMGM3ZDgwMzBjNWYyZDIxNjMyZWJkZWE3OS5wbmc%3D.png?w=700)
assembleDebug:生成测试版的APK文件
assembleRelease:生成正式版的APK文件
assemble:同时生成测试版和正式版的APK文件
clean:在生成APK之前,先要双击clean来清理下当前项目,然后执行你需要生成的apk
4、APK文件会自动生成在 app/build/outputs/apk 目录下
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ2NS84NDU2MmZlMWY3MTE2ZDFkMTVmZDZiNjRiY2I5YjBjMS5wbmc%3D.png?w=700)
5、注意
上述方式的keystore文件所有信息都是以明文形式直接配置在build.gradle中,不太安全。android推荐的做法是将这类敏感数据配置在一个独立的文件里面,然后再在build.gradle中读取这些数据。
根目录下有一个gradl.properties文件,专门用来配置全局键值对数据的,我们在 gradle.properties 文件中添加如下内容:
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzUwMi9hNmFmMGI1YjgxMzJiZGQwZmI2NWFjZGEyYjE4YjRkNi5wbmc%3D.png?w=700)
![Android---使用Gradle生成APK文件 Android---使用Gradle生成APK文件](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEwOC8wMTExYzMxMTEyNWM1ODJlNTZjZDJhN2YwZGFmY2QyNC5wbmc%3D.png?w=700)