文章目录

  • 一、前言
  • 二、创建工程
  • 三、设置gradle-wrapper.properties(重要)
  • 四、全局build.gradle设置阿里云镜像(重要)
  • 五、执行Sync Project with Gradle Files
  • 六、设置apk名字(app/build.gradle)
  • 七、打包apk
  • 1、默认debug.jks前面的debug版apk
  • 2、自己创建keystore前面release版apk
  • 八、运行apk


一、前言

本文我将一步步演示如何使用AndroidStudio创建一个工程,进行简单的工程设置以及打包成apk
注,在安装好AndroidStudio之后,需要设置一下环境,具体参见我之前写的这篇文章:

二、创建工程

点击菜单File -> New -> New Project...

11 Android 项目打包 androidstudio打包_11 Android 项目打包


选择Empty Activity,点击Next

11 Android 项目打包 androidstudio打包_11 Android 项目打包_02

填写工程名(Name)、包名(Package name)、工程路径(Save location)、语言(Language)。

最后点击Finish

我这里演示一下HelloWorld工程吧。

11 Android 项目打包 androidstudio打包_android_03


工程创建完成即可看到MainActivity.java

11 Android 项目打包 androidstudio打包_工程_04

三、设置gradle-wrapper.properties(重要)

如果你是首次使用,建议设置一下gradle-wrapper.propertiesdistributionUrl,不然打包的时候会下载gradle工具包,国内下载速度很慢。

11 Android 项目打包 androidstudio打包_工程_05


自行下载gradle-5.4.1-all.ziphttps://mofile.own-cloud.cn/#/s/x83Piy 然后设置本地的路径,记得前面加上file:///

例:

distributionUrl=file:///D:/software/AndroidStudio/gradle-5.4.1-all.zip

11 Android 项目打包 androidstudio打包_apk_06

四、全局build.gradle设置阿里云镜像(重要)

打开全局的build.gradle

11 Android 项目打包 androidstudio打包_工程_07


里的buildscriptallprojects添加阿里云镜像

maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter'}

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
		maven { url 'https://maven.aliyun.com/repository/google' }
		maven { url 'https://maven.aliyun.com/repository/jcenter'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
    	maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
		maven { url 'https://maven.aliyun.com/repository/google' }
		maven { url 'https://maven.aliyun.com/repository/jcenter'}
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

五、执行Sync Project with Gradle Files

在修改完build.gradle之后,需要执行Sync Project with Gradle Files功能同步工程设置。

这个过程可能比较久,因为会去下载一些东西。

11 Android 项目打包 androidstudio打包_工程_08


执行成功

11 Android 项目打包 androidstudio打包_apk_09

六、设置apk名字(app/build.gradle)

app/build.gradle中设置apk名字。
例:

android.applicationVariants.all {
        variant ->
            variant.outputs.all {
                // 此处指定生成的apk文件名
                outputFileName = "helloworld.apk"
            }
    }

如果不设置的话,默认生成的releaseapk名为app-release.apk

11 Android 项目打包 androidstudio打包_11 Android 项目打包_10


例:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.hellowrold"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
	
	android.applicationVariants.all {
        variant ->
            variant.outputs.all {
                // 此处指定生成的apk文件名
                outputFileName = "helloworld.apk"
            }
    }
}

dependencies {
	implementation 'androidx.constraintlayout:constraintlayout:+'
    implementation 'androidx.appcompat:appcompat:+'
}

七、打包apk

打包apk需要使用keystore进行签名,可以使用默认的debug.jks,也可以自己创建一个jks进行签名。

1、默认debug.jks前面的debug版apk

点击菜单Build -> Build Bunndle(s) / APK(s) -> Build APK(s)

注:这种方式是使用默认的debug.jks签名的Debugapk

11 Android 项目打包 androidstudio打包_apk_11


执行成功

11 Android 项目打包 androidstudio打包_android_12


我们可以在app/build/outputs/apk/debug目录中看到我们生成的apk

11 Android 项目打包 androidstudio打包_androidstudio_13

2、自己创建keystore前面release版apk

真正发布软件时我们需要创建自己jks密钥签名的releaseapk

菜单栏 Build - Generate Signed Bundle / APK...

11 Android 项目打包 androidstudio打包_android_14


勾选APK,点击Next

11 Android 项目打包 androidstudio打包_androidstudio_15


Key store path中输入自己要用来进行签名的证书文件的存放位置,同时输入证书文件的读写用户名密码(如果还没有密钥文件点击图中的Create new进行创建即可)

11 Android 项目打包 androidstudio打包_11 Android 项目打包_16


填写证书信息,点击OK

Key store path:证书存放路径

Validity(yeals):有效期(单位:年)

Alias:证书别买

First and Last Name:姓名

Organizational Unit:企业中的部门

Organization:机构/企业

City or Locality:城市或地区

State or Province:州或省

Country Code:国家代号,我们是CN

11 Android 项目打包 androidstudio打包_android_17


输入密码和别名,继续Next

11 Android 项目打包 androidstudio打包_11 Android 项目打包_18


APK Destination Folder: APK文件生成的目录

Build Type: 生成release版还是debug

Signature Version: 对哪些部分进行签名

点击Finish

11 Android 项目打包 androidstudio打包_工程_19


生成的releaseapk如下

11 Android 项目打包 androidstudio打包_11 Android 项目打包_20

八、运行apk

apk安装到手机或Android模拟器上,运行效果如下

11 Android 项目打包 androidstudio打包_android_21