在运行、调试我们的代码时,Android Studio 使用运行/调试配置确定如何执行操作。通常,默认配置已可满足运行或调试应用所需。在我们创建项目时,Android Studio 会根据 Android App 模板 为主 Activity 创建一个默认运行/调试配置。要打开 Run/Debug Configurations 对话框,请依次选择 Run > Edit Configurations。此时将显示 Run/Debug Configurations 对话框,如下图:此对话框会在左侧面板中的 Templates 文件夹下方显示默认模板,并在 Templates 文件夹上方显示我们已经定义的配置。在我们创建项目时 Android Studio 会根据 Android App 模板 为主 Activity 创建一个默认运行/调试配置。我们可以使用基于此模板的配置,在虚拟或硬件设备上运行或调试 Android 应用和 Activity。
通过 studio.vmoptions 文件,我们可以自定义 Android Studio 的 JVM 的选项。为了提高 Studio 的性能,最常用的调节选项是最大堆大小,但我们也可以使用 studio.vmoptions 文件替换其他默认设置(例如初始堆大小、缓存大小和 Java 垃圾回收开关)。要创建新的 studio.vmoptions 文件或打开现有文件,请按以下步骤操作:依次点击 Help > Edit Custom VM Options。如果之前从未修改过 Android Studio 的虚拟机选项,Android Studio 将提示新建一个 studio.vmoptions 文件。点击 Create 以创建文件。2. studio.vmoptions 文件会在 Android Studio 的编辑器窗口中打开。修改该文件以添加我们自己的自定义虚拟机选项。如需可自定义 JVM 选项的完整列表,请参阅 Oracle 的 Java HotSpot 虚拟机选项页面。我们创建的 studio.vmoptions 文件将添加到默认的 studio.vmoptions 文件中,后者位于 Android Studio 安装文件夹内的 bin/ 目录中。Tips:请注意,切勿直接修改 Android Studio 程序文件夹内的 studio.vmoptions 文件。尽管我们可以访问该文件来查看 Studio 的默认虚拟机选项,但仅修改自己的 studio.vmoptions 文件可确保不会替换 Android Studio 的重要默认设置。因此,在自己的 studio.vmoptions 文件中,请仅替换我们需要修改的属性,以便 Android Studio 可继续为未更改的所有属性使用默认值。
这一层包含两大块:系统库及 Android 运行时。系统库这一部分其实就是 C/C++ 库,这些库在 Android 系统中通常以 so 的形式供不同的组件使用,开发者可以通过自己的应用程序使用这些库提供的服务。Android 运行时Android 采用 Java 作为开发语言,在其运行时中包含了 Java 核心库的大多数功能,并使每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。Dalvik 可以保证一个设备可以同时高效地运行多个虚拟系统。
默认情况下,Android Studio 的最大堆大小为 1280MB。如果我们处理的是大项目,或者我们的系统有大量 RAM 可用,我们可以通过增大 Android Studio 进程(例如核心 IDE、Gradle 守护进程和 Kotlin 守护进程)的最大堆大小来提升性能。Android Studio 会自动检查可采取的堆大小优化措施,并在检测到性能有提升空间时会通知我们。如果我们使用的是 64 位系统并配有不少于 5 GB 的 RAM,我们可以手动调整项目的堆大小。为此,请按以下步骤操作:从菜单栏中依次点击 File > Settings(或在 macOS 上,依次点击 Android Studio > Preferences)。依次点击 Appearance & Behavior > System Settings > Memory Settings。调整堆大小以匹配所需的容量。点击 Apply。如果我们更改了 Android Studio 的堆大小,则必须重启 Android Studio 才能让新的设置生效。Tips:分配过多内存会降低性能。
如需在 Linux 系统中安装 Android Studio,请执行以下操作:将您下载的 .zip 文件解压缩到您应用的相应位置,例如 /usr/local/ 中(对于用户个人资料)或者 /opt/ 中(对于共享用户)。Tips:如果您使用的是 64 位版本的 Linux,请确保首先安装 64 位计算机所需的库。2、要启动 Android Studio,请打开一个终端,导航至 android-studio/bin/ 目录,并执行 studio.sh。选择是否想要导入之前的 Android Studio 设置,然后点击 OK。Android Studio 设置向导将指导您完成余下的设置步骤,包括下载开发所需的 Android SDK 组件。64 位计算机所需的库:如果您运行的是 64 位版本的 Ubuntu,则您需要使用以下命令安装一些 32 位库:sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386如果您运行的是 64 位版本的 Fedora,则所用命令为:sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
我们可以在 Debugger 标签中指定调试选项。对于 C 和 C++ 代码,Android Studio 会使用 LLDB 调试程序。除了普通的 Android Studio 界面,调试程序窗口还有一个 LLDB 标签,让我们可以在调试过程中输入 LLDB 命令。我们可以输入与 Android Studio 用于在调试程序界面中显示信息的命令相同的命令,还可以执行其他操作。对于 C 和 C++ 项目,我们可以在 Debugger 标签中添加符号目录,以及 LLDB 启动与连接后命令。Debug typeJava:仅调试 Java 代码;Auto:让 Android Studio 为我们的项目选择最合适的调试类型;Native:调试原生 C 或 C++ 代码;Dual:在两个单独的调试会话中调试 Java 和原生代码;Symbol Directories如果要添加符号文件来为调试程序提供在 Android Studio 外部生成的 C 或 C++ 代码的信息,我们可以在此处添加一个或多个目录。LLDB Startup Commands添加要在调试程序连接到进程之前执行的 LLDB 命令。LLDB Post Attach Commands添加要在调试程序连接到进程之后立即执行的 LLDB 命令。Logging:Target channels指定 LLDB 日志选项。Android Studio 会根据团队的经验设置默认选项,所以速度不会太慢,但却包含问题排查所需的信息。Android Studio 错误报告经常需要请求日志。Before Launch定义启动之前的操作。
利用 Android Studio,你可以轻松地为各种类型的设备(例如手机、平板电脑、电视和可穿戴设备)创建 Android 应用。如果你未打开项目,Android Studio 会显示欢迎屏幕,你可在其中点击 Start a new Android Studio project 创建新项目。如果你已打开项目,则可以从主菜单中依次选择 File > New > New Project 开始创建新项目。系统会显示 Create New Project 向导,该向导可让你选择要创建的项目类型,然后填充代码和资源帮助你开始创建项目。打开 Create New Project 向导后只需两步即可完成项目创建:选择项目类型、配置项目。
xml 是一种标记扩展语言(Extension Mark-up Language),学到这里大家对 xml 语言一定不陌生,但是它在 Android 中的运用其实只是冰山一角。抛开 Android,XML 也被广泛运用于各种数据结构中。在运用 xml 编写 Android 布局的过程中,大家有没有好奇我们写的 LinearLayout 或者 RelativeLayout 等布局是怎么变系统解析成 UI 样式的?这一节我们来揭晓谜底。
Android SDK 构建工具位于以下位置:android_sdk/build-tools/version/Android SDK 构建工具用于构建 Android 应用。这里的工具大多数都是由编译工具调用的,而不是供我们使用的。不过,以下命令行工具可能很有用:aapt2解析 Android 资源,为其编制索引,然后将其编译为针对 Android 平台优化的二进制格式,最后将编译后的资源打包到单个输出中。apksigner为 APK 签名,并检查签名能否在给定 APK 支持的所有平台版本上成功通过验证。zipalign确保所有未压缩数据的开头均相对于文件开头部分执行特定的对齐,从而优化 APK 文件。
本节课程我们主要学习了 Android 分析工具。本节课程的重点如下:掌握如何使用 Android 分析工具。
我们可以通过 Android Studio 的 Help 菜单访问下面两个配置文件:studio.vmoptions:自定义 Studio 的 Java 虚拟机 (JVM) 选项,例如堆大小和缓存大小。请注意,在 Linux 计算机上,此文件可能会命名为 studio64.vmoptions,具体取决于安装的 Android Studio 版本;idea.properties:自定义 Android Studio 的属性,例如插件文件夹路径或支持的文件大小上限;这两个配置文件都存储在 Android Studio 的配置文件夹中。文件夹名称取决于安装的 Studio 版本。例如,Android Studio 3.6 的文件夹名称为 AndroidStudio3.6。此文件夹的位置取决于操作系统:Windows:%USERPROFILE%\.CONFIGURATION_FOLDER;macOS:~/Library/Preferences/CONFIGURATION_FOLDER;Linux:~/.CONFIGURATION_FOLDER。我们也可以使用以下环境变量指向其他位置的特定替换文件:STUDIO_VM_OPTIONS:设置 .vmoptions 文件的名称和位置;STUDIO_PROPERTIES:设置 .properties 文件的名称和位置;STUDIO_JDK:设置运行 Studio 所使用的 JDK。
库模块为可重用代码提供容器,你可以将其作为依赖项用在其他应用模块中或将其导入其他项目中。从结构上讲,库模块与应用模块相同,但在编译时,前者会创建代码归档文件而不是 APK,因此它无法安装在设备上。在 Create New Module 窗口中,Android Studio 提供了以下库模块:Android 库:这种类型的库可以包含 Android 项目中支持的所有文件类型,包括源代码、资源和清单文件。编译结果是一个 Android ARchive (AAR) 文件,你可以将其添加为 Android 应用模块的依赖项。Java 库:这种类型的库只能包含 Java 源文件。编译结果是一个 Java 归档 (JAR) 文件,你可以将其添加为 Android 应用模块或其他 Java 项目的依赖项。项目和模块的概念都介绍了,那一个项目和一个模块中的目录结构是怎样的呢?各个文件夹又分别是什么作用的呢?
本节课程我们主要学习了 Android 模拟器工具。本节课程的重点如下:掌握如何使用 Android 模拟器工具。
本节课程我们主要学习了 Android SDK 构建工具。本节课程的重点如下:掌握如何使用 Android SDK 构建工具。
本节课程我们主要学习了 Android SDK 平台工具。本节课程的重点如下:掌握如何使用 Android SDK 平台工具。
如果想要在低配置的计算机上运行 Android Studio,则可以按如下方式自定义 IDE 以提升计算机性能:减小 Android Studio 可用的最大堆大小:将 Android Studio 的最大堆大小减小至 512Mb。更新 Gradle 和 Android Plugin for Gradle:更新至最新版本的 Gradle 和 Android Plugin for Gradle,以确保能利用最新的性能改进。启用节能模式:启用节能模式会关闭一系列消耗大量内存和电池的后台操作,包括错误突出显示和动态检查、自动弹出式代码完成和自动增量式后台编译。要开启节能模式,请依次点击 File > Power Save Mode。停用不必要的 lint 检查:要更改 Android Studio 在代码上运行的 lint 检查,请执行以下操作:依次点击 File > Settings(在 macOS 上,依次点击 Android Studio > Preferences)以打开 Settings 对话框。在左侧窗格中,展开 Editor 部分,然后点击 Inspections。点击相应的复选框以选中或取消选中适合项目的 lint 检查。点击 OK 以保存所做的更改。减少可用于 Gradle 的最大堆大小:Gradle 的默认最大堆大小为 1536 MB。我们可以通过替换 gradle.properties 文件中的 org.gradle.jvmargs 属性来减小此值,如下所示:org.gradle.jvmargs = -Xmx1536m不要启用并行编译:Android Studio 可以并行编译独立模块,但如果使用的是低内存系统,则不应启用此功能。要检查此设置,请执行以下操作:依次点击 File > Settings(在 macOS 上,依次点击 Android Studio > Preferences)以打开 Settings 对话框。在左侧窗格中,展开 Build, Execution, Deployment,然后点击 Compiler。确保 Compile independent modules in parallel 选项未选中。点击 OK 以使更改生效。
在 Miscellaneous 标签中,我们可以指定 logcat、安装、启动和部署选项。Logcat:Show logcat automatically选中此选项后,每次使用此配置成功部署和启动应用时,系统都会打开 Logcat 窗口。Logcat:Clear log before launch如果我们希望 Android Studio 在启动应用之前从日志文件中移除之前会话的数据,请选中此选项。Installation Options:Skip installation if APK has not changed选中此选项后,如果 Android Studio 检测到我们的 APK 未更改,将不会重新部署 APK。如果我们希望 Android Studio 即使在 APK 未更改的情况下仍强行安装 APK,则取消选中此选项。Installation Options:Force stop running application before launching activity如果选中此选项,则在 Android Studio 检测到 APK 未更改从而无需重新安装 APK 时,它将强行停止应用,以便应用从默认启动器 Activity 启动。如果取消选中此选项,则 Android Studio 不会强行停止应用。Before Launch定义启动之前的操作。
本节课程我们主要学习了 Android SDK 命令行工具。本节课程的重点如下:掌握如何使用 Android SDK 命令行工具。
如果我们的设备搭载的是 Android 7.1 或更低版本,则必须勾选 Enable advanced profiling 选项才能启用 Android Profiler 中的特定功能。
如需在 Linux 系统中安装 Android Studio,请执行以下操作:将您下载的 .zip 文件解压缩到您应用的相应位置,例如 /usr/local/ 中(对于用户个人资料)或者 /opt/ 中(对于共享用户);如果您使用的是 64 位版本的 Linux,请确保首先安装 64 位计算机所需的库;如果你运行的是 64 位版本的 Ubuntu,则您需要使用以下命令安装一些 32 位库:$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386如果您运行的是 64 位版本的 Fedora,则所用命令为:$ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686要启动 Android Studio,请打开一个终端,导航至 android-studio/bin/ 目录,并执行 studio.sh。选择是否想要导入之前的 Android Studio 设置,然后点击 OK。Android Studio 设置向导将指导您完成余下的设置步骤,包括下载开发所需的 Android SDK 组件,大功告成。下图显示了推荐的设置流程的每个步骤:5
学习这门课程之前,首先要会至少一种编程语言;有一定的 Android 开发经验,可以使用 AndroidStudio 独立开发 Android 项目。有上面的两点知识基础,学起这门课来相信大家会比较轻松。
还记得前面将现场的时候提到过,Android 系统规定只能在主线程操作 UI,这里再加上一条:Android 系统不能在 UI 线程访问网络所以我们需要开启一个子线程处理 Http 请求,这一节我们使用 40 节学习的 AsyncTask 来执行网络请求,拉取慕课网 Android 教程的首页信息。
我们可以向 Android 项目添加 C 和 C++ 代码,只需将相应的代码添加到项目模块的 cpp 目录中即可。在我们构建项目时,这些代码会编译到一个可由 Gradle 与我们的 APK 打包在一起的原生库中。然后,Java 代码即可通过 Java 原生接口 (JNI) 调用原生库中的函数。Android Studio 支持适用于跨平台项目的 CMake,以及速度比 CMake 更快但仅支持 Android 的 ndk-build。目前不支持在同一模块中同时使用 CMake 和 ndk-build。要为我们的应用编译和调试原生代码,我们需要以下组件:Android 原生开发套件 (NDK):一个工具集,让我们能够在 Android 项目中使用 C 和 C++ 代码;它提供了各种平台库,让我们能够管理原生 Activity 并访问物理设备组件,例如传感器和轻触输入。CMake:一款外部编译工具,可与 Gradle 搭配使用来编译原生库。如果我们只计划使用 ndk-build,则不需要此组件。LLDB:Android Studio 用于调试原生代码的调试程序。默认情况下,LLDB 将与 Android Studio 一起安装。
Android Studio 提供了一个名为 lint 的代码扫描工具,可帮助我们发现并更正代码结构质量的问题,而无需实际执行应用,也不必编写测试用例。系统会报告该工具检测到的每个问题并提供问题的描述消息和严重级别,以便我们可以快速确定需要优先进行的关键改进。此外,我们还可以降低问题的严重级别以忽略与项目无关的问题,或者提高严重级别以突出特定问题。lint 工具可以检查 Android 项目源文件是否有潜在的错误,以及在正确性、安全性、性能、易用性、无障碍性和国际化方面是否需要优化改进。使用 Android Studio 时,无论何时构建应用,都会运行配置的 lint 和 IDE 检查。下图显示了 lint 工具如何扫描处理文件:应用源文件:源文件包含组成 Android 项目的文件,包括 Java、Kotlin 和 XML 文件、图标以及 ProGuard 配置文件;lint.xml 文件:一个配置文件,可用于指定要排除的任何 lint 检查以及自定义问题严重级别;lint 工具:一个静态代码扫描工具,我们可以从命令行或在 Android Studio 中对 Android 项目运行该工具;lint 检查结果:我们可以在控制台或 Android Studio 的 Inspection Results 窗口中查看 lint 检查结果。
前面我们讲了 Gradle 在 Android 项目中的配置,我们提到有一个闭包 signingConfigs 是配置 Android 应用签名信息的。那么今天我们就来讲讲如何通过 AndroidStudio 对 APK 进行签名。
Android 提供了 3 种类型的解析器:DOM、SAX、XMLPullParser。在这三种类型中,唯 XMLPullParser 以其高效易用两大优点被 Android 官方推荐,在实际开发中绝大多数场景都是使用 XMLPullParser,所以本节主要介绍 XMLPullParser 的使用方法。
AAPT2(Android 资源打包工具)是一个构建工具,Android Studio 和 Android Gradle 插件使用它来编译和打包应用的资源。AAPT2 会解析资源、为资源编制索引,并将资源编译为针对 Android 平台进行过优化的二进制格式。AAPT2 支持通过启用增量编译实现更快的资源编译。这是通过将资源处理拆分为两个步骤来实现的:编译:将资源文件编译为二进制格式。链接:合并所有已编译的文件并将它们打包到一个软件包中
作为 Android 用户,你一定见过类似这样的页面:它就是我们今天的主角——菜单,它的使用场景和作用不用多说,几乎每个 App 都会用到它,今天我们就一起来看看 Android 提供的几种菜单类型及用法。
本节课程我们主要学习了 Android Studio 的安装和主窗口界面的组成。本节课程的重点如下:在 Windows、Mac、Linux系统上如何安装 Android StudioAndroid Studio 主窗口界面
Android SDK 工具位于以下位置:android_sdk/tools/bin/主要的命令行工具有如下这些:apkanalyzer用于在构建过程完成后深入分析我们的 APK 组成。avdmanager可让我们从命令行创建和管理 Android 虚拟设备 (AVD)。sdkmanager可让我们查看、安装、更新和卸载 Android SDK 的软件包。jobb可以让我们构建不透明二进制 Blob (OBB) 格式的已加密和未加密 APK 扩展文件。