从零开始运行Android Studio(启动项目与初次环境配置)

介绍

  • 注意:那种新建的空白程序并不是本文的讨论主体。下文介绍的启动项目是那种有一定开发时间的项目。例如团队的项目源码,或者GitHub上的小部分开源项目启动。(大部分需要后端数据库等综合,使用之后会继续讨论)
  • 当第一次安装AS运行大规模源码时或者在电脑重装后,重新运行原来的APP文件时,AS总会不断的报错。最近重装了两次,每次都被AS折腾的十分难过,这次下定决心想要记录一下重新启动项目的过程。
  • 再次遇到这种环境配置也能够有章可循不至于乱了阵脚,东改一句、西改一句,反而得不偿失

1.安装jdk

CSDN等网站上有很多相关文章,下面文章可作为安装参考:jdk环境配置

或者详细的视频介绍:狂神说Java-环境配置-bilibili

2.安装AS

按照流程直接安装即可

AS配置的时候要小心一点,着重关注一下androidSDK,其他的个性化设置随意即可

如果有细节不清楚的可参考:安装androidStudio和配置环境变量

3.打开有一定规模的项目

不出意外,在打开的时候,编译用的小锤子还有运行按键都无法使用,这是正常的此时Gradle正在飞速运转下载一些相关配置文件

Gradle:熟悉Java开发的同学应该知道maven,两者都是方便导包的工具,十分方便

AS是一个十分智能的平台在初次启动后会自动检测配置是否缺失,也会提供下载安装渠道,类似这样

Android Studio启动 Android studio启动项_环境配置

4.按照AS提示安装

这是比较好的结局了,如果在安装好之后就可以正常编译,那真是再好不过了,当然一般还会有各种千奇百怪的报错出现

常见处理方案

1.Gradle更新

刚刚提到过gradle,初次启动AS会自动开启gradle,当然你也可以手动再次开启(右侧大象为左侧的快捷键)

Android Studio启动 Android studio启动项_Android Studio启动_02

  • 在遇见项目太大,网络不好,gradle经常断开连接时,不妨多使用几次这种方法。
  • 这里的更新等待不能着急,要多等一等。
  • 当下侧提示报错时,就先解决问题,也不要一味盲试

2. SDK配置

这个问题还是经常出现的,也会在编译时提示SDKbuild-tools不符,

Android Studio启动 Android studio启动项_环境配置_03

方法一

此时可以在SDK manager中尝试更换旧一版本的Android SDK build-tools来解决,删除较高版本,安装低一些的,或者重装试试(不建议)

方法二

有关Android SDK build-tools的报错,可以复制自己成功运行项目中的ompileSdkVersion、buildToolsVersion,这也是CSDN中相关此问题的主流解法。

寻找APP文件下的build.gradle配置,更改成自己成功运行的其他项目此处的代码

android {
    compileSdkVersion 30
    buildToolsVersion '29.0.2'}
    //不同电脑不一样

补充

Android Studio启动 Android studio启动项_android_04


Android Studio启动 Android studio启动项_android_05

在此处也可以修改配置文件,会自动同步到build.gradle

3.plugin版本更新

还有部分情况是plugin,也就是插件版本未更新导致的,可以尝试看下插件版本是否需要更新来解决

Android Studio启动 Android studio启动项_环境配置_06

通解

实在不行,或者问题得不到解决,多尝试几次重新导入项目,重新打开Android Studio,或者重新解压原代码文件,AS每次打开都会检查一遍是否缺插件,说不定就会有惊喜!

Bug很多,不可能完全介绍完毕。如果还未得到解决,可以在CSDN上在查找看看。

新出现一个问题

描述

在上述配置完成后出现错误

Execution failed for task ':app:validateSigningDebug'.
> Keystore file 'C:\test.jks' not found for signing config 'debug'.

解决

这个是该项目在设置APP打包过程中jks使用了绝对路径导致的错误,更改jds所在路径即可,最好直接规范的改成相对路径。

找到APP文件下的gradle更改即可

//  签名设置
    signingConfigs {
        //debug包
        debug {
            storeFile file("C:../test.jks")
            storePassword 'XXXXXX'
            keyAlias 'XXXX'
            keyPassword 'XXXXXX'
        }
        //release包
        release {
            storeFile file("C:../test.jks")
            storePassword 'XXXXXX'
            keyAlias 'XXXX'
            keyPassword 'XXXXXXXX'
        }
    }