首页 / 资讯中心 / 文章详情

Android Studio新手入门:从零到跑通第一个App全流程指南

Android Studio新手入门:从零到跑通第一个App全流程指南 ★ FEATURED ARTICLE
1. 写在前面的项目启动准备折腾Android开发这些年我见过太多人卡在第一步就放弃了。标题里这句话用Android Studio开发你的第一个Android程序看起来简单实际上从下载安装到真机跑起来中间藏着一堆坑。这篇博文把我自己从零到一的过程完整复盘一遍该踩的坑、该跳的坎都帮你提前标注好了。不管你是刚买电脑的大学生还是想转行做移动开发的职场人照着这个流程走今晚就能看到你自己的App出现在模拟器屏幕上。先说一下这篇博文覆盖的内容Android Studio的下载安装、模拟器创建、第一个项目的从零搭建、界面布局、按钮交互、真机调试以及最关键的Gradle配置和常见报错排查。特别是Gradle这个环节网上教程一句等待同步完成带过但真正卡住新手的往往就是这里。我会把每一步的原理讲清楚不只是教你点哪里而是让你知道为什么要点那里。如果你完全零基础前面对Java和Android没有一点概念也没关系。我尽量用大白话把专业术语拆开揉碎你跟着步骤操作即可。开始吧。2. 环境准备下载、安装与首次启动2.1 国内环境下的下载方案Android Studio的官方下载地址是developer.android.com但国内直接访问经常速度感人甚至根本打不开。如果你遇到这种情况别死磕官网国内有几个靠谱的镜像源速度和稳定性都不错。腾讯、华为、阿里的镜像站都有Android Studio的完整安装包直接搜Android Studio 国内下载就能找到。下载的时候注意区分Windows版和macOS版Windows版是个.exe文件macOS版是.dmg文件别下错了。另外Android Studio有稳定版、测试版、预览版三个通道。新手千万别追新稳定版Stable最省心。版本号里带Beta或者Canary字样的都别碰。我见过不少新人装了预览版第二天打开发现布局编辑器崩了然后整个人心态爆炸。历史版本下载地址在官网上也有入口如果你用的电脑配置比较老找一个稍旧的版本反而运行更流畅。安装过程没什么需要特别注意的一路Next就行但有两个细节值得说一下。第一安装路径不要带中文不要带空格最好也别放在C盘的Program Files下面。有些同学装了之后出现莫名其妙的问题八成是路径里有中文或者空格导致的。第二安装的时候会让你选择是否导入之前的设置如果你是全新安装选Do not import settings即可。2.2 首次启动SDK与组件加载安装完成后首次启动Android Studio会引导你下载Android SDKSoftware Development Kit软件开发工具包。这里有个常见问题很多人在这一步等了一个小时还没下载完进度条一直不走。原因还是网络问题SDK的下载同样走的是Google的服务器。解决方案有两个。第一个是配置国内镜像源在Android Studio的设置里找到SDK Manager把下载源改成国内镜像站的地址。第二个方案最省事直接用Android Studio内置的SDK Manager勾选你需要的Android版本然后让它慢慢下载放着别管它干点别的去。但如果超过半小时进度条一点没动那就是网络根本连不上必须配镜像。我个人的建议是SDK组件不需要全部勾选新手只勾最新稳定版的Android系统镜像就行比如现在用的比较多的Android 13或Android 14。那些旧版本的SDK等以后需要兼容老设备时再回来下载现在装了纯属浪费硬盘空间。特别注意SDK的存储路径Android Studio会默认放在用户目录的AppData或者Library下面这个路径同样不要有中文。2.3 必装组件把设置中文这件事搞清楚很多中文用户上来就问Android Studio怎么设置中文。Android Studio官方版本其实没有中文界面选项它默认只有英文。网上流传的各种汉化方法要么是下载第三方汉化包要么是装某个插件这两种我都不推荐。为什么Android Studio的界面文字本身不多主要就是File、Edit、View、Build、Run这一排菜单加上右边的各种工具窗口标签。这些单词连初中生都认识你根本不需要汉化。更关键的是Android开发的学习资料、Stack Overflow问答、官方文档全部是英文的。如果你的界面变成了中文遇到问题想搜解决方案你会发现搜到的关键词和你的界面对不上反而给自己添乱。所以我劝你直接适应英文界面一劳永逸。2.4 创建第一个虚拟设备AVDSDK装好之后下一步是创建一个模拟器也就是虚拟设备Android Virtual Device简称AVD。在Android Studio的欢迎页或主界面右上角找到Device Manager点击进去选择Create Device然后挑一个手机型号。型号选择这里有个讲究。新手不要选最新的Pixel设备因为最新设备对应的系统镜像往往比较大模拟器运行起来也卡。选一个配置适中的型号比如Pixel 5或Pixel 6系统镜像选推荐的那个版本就行。模拟器的启动速度受两个因素影响电脑的内存大小和是否开启硬件加速。关于硬件加速Windows用户需要在BIOS里开启Intel VT-x或AMD-V虚拟化技术macOS用户不用担心这个。检查方法很简单在Windows任务管理器里看性能选项卡如果有虚拟化已启用的提示就说明已经开了。如果没开去BIOS里找一下相关选项这一步虽然麻烦但对模拟器的流畅度影响巨大。创建完成后最好先启动一次模拟器确认它能正常开机。首次启动可能要三五分钟看到主屏幕就说明环境完全OK了。这一步提前验证免得写完了代码才发现模拟器跑不起来。3. 新建项目模板选择与项目结构解读3.1 选择正确的项目模板环境准备好之后回到Android Studio主界面点击New Project你会看到一排模板Empty Views Activity、Empty Activity、Basic Views Activity、Compose Activity等等。这里我推荐新手选Empty Views Activity空视图活动。为什么强调Views而不是Compose因为现在Google主推Jetpack Compose这套新的UI编写方式用代码写界面而不是传统的XML布局文件。但Compose的学习曲线明显更陡对新手不友好。新手阶段用传统的XML布局你能直观地看到界面的结构改一个按钮的位置、调一下文字的大小修改完能看到立刻变效果成就感来得快。等你把Views这套机制吃透了再过渡到Compose理解成本就低很多。选好模板后会进入配置页面需要填写项目名称、包名、保存位置。项目名称一般用大驼峰命名比如MyFirstApp。包名是应用的唯一标识默认会加上com.example的前缀这个现在不用纠结发布应用的时候再改也不迟。语言选择Java还是Kotlin我建议直接选Kotlin虽然你现在可能没学过但Kotlin已经成为Android开发的主流语言语法比Java简洁不少而且Android Studio对Kotlin的支持已经非常完善。最低SDK版本Minimum SDK保持默认就好默认值通常覆盖了绝大多数设备。3.2 项目结构那些文件夹到底装了什么项目创建完成后你会看到一个复杂的界面左边是项目文件树中间是代码编辑器下面有运行日志。很多新手一看到这么多文件当场就懵了。其实Android项目的核心结构并不复杂我帮你梳理一遍主要就是四个部分。app文件夹是项目的整个应用模块你写的代码和资源都在这个目录下面。app/src/main/java里面放的是Kotlin或Java源代码文件就是你写的逻辑代码。app/src/main/res里面放的是一堆资源文件布局文件layout、图片drawable、字符串values等。AndroidManifest.xml是应用的清单文件相当于应用的身份证写了应用的名字、图标、启动入口、需要用到的权限等信息。Gradle Scripts文件夹下有一堆.build.gradle文件这是构建脚本。你可以把它理解成整个工程的施工图纸每个依赖库的引用、SDK版本号、插件配置都在这里。新手对这个东西又怕又恨其实刚开始你不需要理解它的全部细节只需要知道每次修改依赖或升级版本都要等它重新同步Sync就可以了。3.3 Gradle配置详解新手最需要耐心的一关Gradle是Android项目构建系统的核心。我见过太多新手卡在这一步项目创建完之后Android Studio开始自动下载Gradle和依赖库左下角那里有个进度条一直转。有些人的进度条要转半小时、一个小时甚至一直报错。原因还是网络。Gradle本身是开源工具但它默认获取依赖包的仓库是Google的Maven仓库和Maven Central这两个仓库的服务器都在国外国内访问经常超时。解决办法是在项目根目录的build.gradle文件里把仓库地址改成国内镜像。国内比较稳定的是阿里云镜像和腾讯云镜像。修改方法是在repositories这个代码块里把google()和mavenCentral()旁边加上阿里云的镜像地址或者直接替换掉。这个改动很简单但对国内开发者来说几乎是必做的一步。改完之后点击Sync Now首次同步可能需要下载几百兆的依赖库这个过程要耐心等待。第二次再打开项目速度就快很多了。如果你发现同步报错先看错误信息。最常见的错误是SSL证书校验失败或者连接超时。SSL的报错信息一般会包含unable to find valid certification path这种问题通常是公司网络或者系统代理在干扰可以先关掉代理试试。依赖缓存文件夹的位置也值得提一嘴。Windows默认在C盘的用户目录下有一个.gradle文件夹。如果你C盘空间紧张这个文件夹会越用越大建议把它迁移到其他盘。修改方法是在Android Studio的设置里搜Gradle把Gradle user home改成你想要的路径即可。4. 写出第一个界面布局文件与交互逻辑4.1 布局文件用XML画一个简单的用户界面项目同步完成后系统会自动生成一个MainActivity和一个activity_main.xml布局文件。双击打开activity_main.xml默认是代码视图和设计视图左右并排的。如果你是第一次接触Android布局我建议先用设计视图像拖积木一样往界面上放控件系统会自动生成对应的XML代码。布局文件的本质是用XML语法描述界面结构。最常见的容器是LinearLayout线性布局它里面的控件要么从上往下排列要么从左往右排列。另一个常用的是ConstraintLayout约束布局它更灵活但也更难理解。新手阶段用LinearLayout就完全够了。我先带你做一个最经典的界面一个居中的TextView文本控件一个按钮再加一个输入框。这个过程你只需要在设计视图里把这些控件拖到布局中间然后调整属性即可。但纯靠拖拽你无法理解布局的本质所以我建议你切到代码视图看清楚XML是怎么写的。比如TextView的XML标签长这个样子TextView android:layout_widthwrap_content android:layout_heightwrap_content android:textHello World! android:textSize24sp /layout_width和layout_height这两个属性是每个控件都必须写的wrap_content表示控件宽度根据内容自动适配match_parent表示填满父容器的剩余空间。android:text设置显示的文字android:textSize设置字体大小sp是Android专用的文字大小单位。这些细节不用一次记住但你至少要能看懂以后每写一个控件都要和这两个属性打交道。4.2 MainActivity.kt让按钮动起来布局文件只是画了个壳要让按钮有反应你得去MainActivity.kt里写代码。这一节需要你理解一个核心概念Activity活动。Activity可以理解成一个页面MainActivity就是应用启动后显示的第一个页面。打开MainActivity.kt你会看到一个类class它继承自AppCompatActivityonCreate方法里面有代码setContentView(R.layout.activity_main)。这一行的意思很简单把MainActivity这个页面和activity_main这个布局文件关联起来。如果你想在界面上加一个按钮并且点击按钮时弹出提示就需要在上面提到的布局文件里给按钮定义id然后回到MainActivity里通过id找到它。这个过程用代码说清楚就是在布局文件中的按钮标签里加上android:idid/my_button其中id的意思是在资源表里新增一个叫my_button的id。回到MainActivity.kt之后先获取按钮对象再给按钮设置一个点击监听器。点击按钮之后弹出一个Toast短消息提示最后别忘了把导入语句加上。下面是核心区段的完整示例你自己动手写一遍印象绝对比光看深得多package com.example.myfirstapp import android.os.Bundle import android.widget.Button import android.widget.Toast import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val myButton: Button findViewById(R.id.my_button) myButton.setOnClickListener { Toast.makeText(this, 你点了我一下, Toast.LENGTH_SHORT).show() } } }这里有一个新手很容易困惑的点findViewById(R.id.my_button)这一行的作用。R这个类是由系统在编译时自动生成的资源索引表你在布局文件里写的每一个id、每一张图片、每一条字符串都会被映射成R类里的一个常量。findViewById就是通过这个常量找到运行时对应的那个控件对象。在你刚接触Android的早期阶段这行代码会频繁出现不需要问为什么多用几次就习惯了。4.3 布局进阶试着加一个进度条加深理解上面热词列表里有android进度条这个知识点在你入门以后会很常用。进度条控件叫ProgressBar在布局文件里加一个就能显示转圈圈的加载图标。进度条有两个状态不确定模式一直在转和确定模式按百分比显示进度。默认是转圈模式也就是不确定模式。如果想让它在代码里控制进度比如按钮点击后进度条增加10%可以给ProgressBar设置style属性然后通过progressBar.progress 50这种方式设置当前进度。我建议你在做第一个项目的时候顺手把进度条也加上。界面不需要多复杂一个输入框、一个按钮、一个文本、一个进度条就够了。这样你能练习到布局文件里多个控件的组合排列也能练习到在代码里操作控件状态的技能。很多教程让你做计算器、待办清单APP我觉得不如先从这种迷你小界面开始一个个控件地认识它们的行为比上来就做完整功能更有助于建立信心。4.4 快捷键与菜单提升编码效率的入门工具编写代码时最影响体验的是快捷键。Android Studio是基于IntelliJ IDEA做的很多快捷键体系一脉相承。Windows和Linux下最常用的几个CtrlShift空格是智能补全Ctrl空格是基础补全AltEnter是修复当前行的错误Ctrl/是注释或取消注释当前行。macOS上对应的是CmdShift空格、Cmd空格、OptionEnter、Cmd/。热词列表里还有一个Android Studio抽取方法快捷键这个是重构类操作把一段代码选中后按CtrlAltM会弹出对话框让你输入方法名系统自动把选中的代码抽成独立方法。这个技能在你代码量变大之后特别有用一开始用不上但你可以先知道有这个东西等你写了50行重复代码想整理的时候它就是你的救星。5. 运行调试模拟器与真机双轨测试5.1 模拟器运行的第一个应用点击工具栏上那个绿色三角形运行按钮Android Studio会让你选择部署目标设备。选刚才创建的模拟器点OK接下来就是等待。第一次构建项目需要编译大量的文件外加初始化Gradle任务时间可能长达几分钟。这段时间进度条会走一会儿停一会儿别慌张它在正常干活。构建完成后模拟器会自动打开并安装你的APP然后自动启动。当你看到模拟器屏幕中央出现了Hello World!这行字恭喜你第一个Android程序就真的跑起来了。整个过程最爽的就是这一刻——从零到有个东西运行在屏幕上的成就感会支撑你走完后面那些平淡枯燥的学习阶段。有一个细节提醒你模拟器启动后鼠标要用的话需要先点一下模拟器窗口它才会捕获鼠标事件否则你会发现鼠标箭头移不进去。想退出模拟器的鼠标捕获状态键盘上按CtrlShift同样可以切出来。5.2 真机调试让应用跑在你的手机上热词里有个很典型的搜索词是/storage/emulated/0/android/data/...这是Android系统的内部存储路径普通用户对这些路径感到莫名其妙其实看到这个路径说明你可能已经在手机上装了某些应用并且想找它的数据文件夹。这里我不深入讲路径问题但我要借此讲一下真机调试的基本流程因为你迟早要把应用装到真正的手机上测试。真机调试的第一步是打开手机上的开发者选项。魅族、小米、华为等各种手机的开启方式略有差异但通用方法是在设置里找到关于手机连点击版本号七次系统会提示你已进入开发者模式。回到设置找到开发者选项打开USB调试开关。第二步是用USB线把手机连到电脑上手机上会弹出允许USB调试吗的对话框点击允许。回到Android Studio的运行按钮选择你的手机设备点击运行APP就装到手机上了。这里有几个容易碰壁的地方手机连接后电脑没反应多半是缺驱动Windows用户需要在设备管理器里手动更新驱动手机连上了但Android Studio不识别检查一下开发者选项里的USB调试是否真的打开了有些国产手机需要额外开启USB安装权限否则安装APP的时候会失败。5.3 日志工具Logcat调试程序的千里眼程序跑起来不代表没有bug。Android Studio底部有一个Logcat窗口作用相当于系统的日志打印机。你可以在代码里通过Log.d()打印调试日志就像这样Log.d(MainActivity, 按钮被点击了当前进度 progressBar.progress)Log.d的第一个参数是日志标签第二个参数是日志内容。Log.d起打印作用的是Debug调试级别的日志开发过程中最常用。还有Log.e用于打印错误日志Log.i打印普通信息。Logcat窗口可以按日志级别过滤、按关键字搜索你只在搜索框里输入MainActivity这个标签就能快速看到这个页面的所有日志输出。当APP崩溃时Logcat里会抛出一大片红色的异常堆栈这可是排查问题的最关键信息。新手看到红色英文就慌其实可以做一个最简单的练习故意写一行有问题的代码让它崩溃然后在Logcat里跟踪那条最顶端的错误信息使用搜索功能找到包含FATAL EXCEPTION的那一行一般就是你真正需要关注的报错原因。这样你以后看到崩溃日志至少知道去哪儿找突破口。6. 常见问题与排查技巧实录6.1 打开别人的项目时经常报错如何应对热词里有移植Android Studio项目这个词。这确实是一个高频需求在GitHub上看到不错的开源项目下载下来导入结果一打开就是满屏红色。这里有几个高频坑我按影响程度从大到小说一下。第一Gradle版本不匹配。每个Android项目都依赖一个特定版本的Gradle项目里gradle-wrapper.properties这个文件里写了它需要的Gradle版本号。你电脑上没这个版本Android Studio会尝试自动下载下载失败就会报错。解决办法是检查这个文件如果下载失败去网上搜对应版本的下载地址或者手动改写成你本地已有的版本号。第二SDK版本不匹配。项目里用了某个新版本的SDK而你机器上没装也会报错。定位方法看项目里的build.gradle文件找到compileSdk或targetSdk后面的数字然后去SDK Manager里把这个版本的SDK勾选安装。第三依赖库版本冲突。这个比较复杂报错信息里通常会有Dependency、conflict之类的关键词。解决思路是打开项目里的build.gradle文件把冲突的依赖改成同一个版本或者删掉多余的依赖。如果彻底不会改也有个简单粗暴的办法新建一个空项目把src目录和资源文件复制过来重新搭一个工程很多时候能规避掉版本冲突问题。6.2 模拟器启动慢或闪退怎么排查模拟器启动慢先看电脑内存是否够用建议至少8GB内存。如果内存足够但启动还是慢试试在Device Manager里进入模拟器的编辑设置把Graphics改成Hardware - GLES 2.0这能提升部分电脑的渲染速度。如果是闪退极大概率是硬件加速没开启回到前面提到的BIOS虚拟化设置确认VT-x或AMD-V已开启。还有一种情况是模拟器根本打不开报HAXM错误。HAXM是Intel的硬件加速引擎macOS和Windows都可以通过SDK Manager里下载安装。如果你用的是AMD处理器那需要装的是另一个组件叫Android Emulator Hypervisor Driver安装方式类似。处理器和组件不匹配是模拟器报错的常见原因之一搞清楚自己电脑的CPU型号再选对组件这个问题就解决了。6.3 资源重复错误与其他编译报错热词里的Android Studio资源重复错误也是新手的拦路虎。这种报错信息一般长这样Error: Duplicate resources。出现这个问题的原因是项目里有两个相同的资源名称比如drawable文件夹下有两个同名文件或者values文件夹里有个字符串定义了两遍。排查方法很简单点击右下角的Build窗口找到红字提示的具体文件路径把其中一个重命名或删掉即可。还有一种隐蔽情况复制别人的代码时连带把别人的R文件也复制过来了这种也会导致res目录下出现奇怪的重复项直接把整个多余的文件夹删掉。其他常见报错我再简单列几个你有需要就直接对照查卡在Gradle同步不动的检查网络代理和镜像源配置。首次构建特别慢的配置Android Studio的Gradle离线模式把依赖缓存设置成离线优先。设备管理器里没有模拟器选项的确认SDK里是否勾选了Android SDK Tools组件。运行时报错找不到某某类大概率是漏掉了某个依赖库回到build.gradle里确认依赖声明是否正确然后重新Sync。7. 编译打包把App装到朋友手机上你要做的第一个Android程序完全可以拿去给朋友显摆一下。这就要用到打包APK文件了。APK是Android应用安装包的格式相当于电脑上的exe安装程序。点击菜单栏的Build - Build Bundle(s) / APK(s) - Build APK(s)Android Studio会自动完成签名打包流程生成的APK文件在app/build/outputs/apk/debug目录下把这个文件发到手机上就能直接安装。默认的APK是debug调试版可以安装到手机上来测试但不建议发布到应用商店。发布到商店需要Release版本还需要一个正式的签名证书。签名的作用是证明这个APK是你写的并且保证安装后不会被篡改。生成签名证书的步骤在Build - Generate Signed Bundle / APK里跟着向导操作即可。关于签名新手只需要记住一件事这个签名文件必须备份好一旦应用上架之后换了签名用户就无法覆盖安装升级相当于应用要改名重来这个后果很严重。打包还有一个值得说的细节如果APK体积很大可以试试开启资源混淆和压缩在build.gradle里把minifyEnabled设为true配合ProGuard规则文件可以大幅减小APK体积并移除未使用的代码新手可以先不做但要知道有这些功能存在。8. 几个提升开发体验的小细节关于Android Studio本身我再补充几个实测好用的配置。首先是内存设置在Android Studio的安装目录下找到studio64.exe.vmoptions文件把-Xmx参数调大一些比如改成2048m或4096m。这个修改能明显改善大项目卡顿的情况配置低的电脑尤其明显。其次是保存自动编译。在设置里搜Auto Import把Kotlin和Java的自动导入选项全部打钩这样你写代码时不需要手动加import语句系统会在你输入类名时自动补充导入省下不少无意义的操作时间。之前提到的热词android studio 自定义组件这其实是一个进阶技能。等你对Android的控件体系熟悉了你会发现默认控件有些样式不满足需求。比如做一个圆角按钮你可以新建一个类继承Button重写它的绘制方法或者用自定义Drawable来实现。这个话题展开讲很深我只给新手指个方向先用系统默认控件把项目做完自定义控件这个坑等你有了一定积累再深入别一上来就钻牛角尖。9. 最后给新手的几句真实感受我把这个第一个项目的完整过程走下来前后大概两小时。其中有一半时间花在下载、同步、等待构建上真正写代码的时间并不多。这个比例在你日后的开发中也会一直存在所以心态上一定别急。每当你觉得构建太慢、报错太多、看不懂代码的时候想想这一句话这些坑是所有Android开发者都踩过的你不是一个人。我个人实际体验里最深的感受是第一个项目不需要追求功能多强大界面好看与否也不重要。把项目从创建到运行这个流程完整跑通比什么都重要。因为你在这一步建立起的对工程结构、Gradle构建、Logcat调试的感知会决定你后续学习的速度。跑通一个项目你会对接下来要学什么有个清晰的框架哦原来界面是用XML写的原来处理点击要写监听器原来崩溃了要去Logcat看日志。后面你可以试着给这个App加一点东西加一个页面跳转、加一个图片显示、加一个列表。每加一个功能的同时把它的整个生命周期和原理弄明白。说实话Android入门最难的就是这第一个程序过了这一关后面的路会越走越顺畅。
阅读完成 · 觉得有帮助?
咨询建站