Android入门

Download android eBook

备注

如果您想了解有关Android Gradle插件设置的更多信息,请查看android-gradle文档

如果您对替代模拟器感兴趣,可以查看Genymotion 。它提供免费计划,需要较少的RAM。

版本

API级别版本代码发布日期
1.0 1 BASE 2008-09-23
1.1 2 BASE_1_1 2009-02-09
1.5 3 CUPCAKE 2009-04-27
1.6 4 DONUT 2009-09-15
2.0 ECLAIR 2009-10-26
2.0.1 6 ECLAIR_0_1 2009-12-03
2.1.x的 7 ECLAIR_MR1 2010-01-12
2.2.x中 8 FROYO 2010-05-20
2.3 9 GINGERBREAD 2010-12-06
2.3.3 10 GINGERBREAD_MR1 2011-02-09
3.0.x的 11 HONEYCOMB 2011-02-22
3.1.X 12 HONEYCOMB_MR1 2011-05-10
3.2.x中 13 HONEYCOMB_MR2 2011-07-15
4 14 ICE_CREAM_SANDWICH 2011-10-18
4.0.3 15 ICE_CREAM_SANDWICH_MR1 2011-12-16
4.1 16 JELLY_BEAN 2012-07-09
4.2 17 JELLY_BEAN_MR1 2012年11月13日
4.3 18 JELLY_BEAN_MR2 2013年7月24日
4.4 19 KITKAT 2013年10月31日
4.4W 20 KITKAT_WATCH 2014-06-25
5 21 LOLLIPOP 2014年11月12日
5.1 22 LOLLIPOP_MR1 2015年3月9日
6 23 M (棉花糖) 2015年10月5日
7 24 N (牛轧糖) 2016年8月22日
7.1 25 N_MR1 (牛N_MR1糖MR1) 2016年10月4日
8 26 O (开发者预览版4) 2017年7月24日

没有IDE的Android编程

这是一个极简主义的Hello World示例 ,仅使用最基本的Android工具。

要求和假设

  • Oracle JDK 1.7或更高版本
  • Android SDK工具(只是命令行工具

这个例子假设Linux。您可能必须调整自己平台的语法。

设置Android SDK

解压缩SDK版本后:

  1. 使用SDK管理器安装其他软件包。不要按照捆绑的Readme.txt中的指示使用android update sdk --no-ui ;它下载了大约30 GB的不必要文件。而是使用交互式SDK管理器android sdk 来获得建议的最小包。

  2. 将以下JDK和SDK目录附加到执行PATH。这是可选的,但下面的说明假定它。

    • JDK / bin中
    • SDK /平台的工具
    • SDK /工具
    • SDK / build-tools / LATEST (在步骤1中安装)
  3. 创建Android虚拟设备。使用交互式AVD管理器( android avd )。您可能需要调整一下并寻求建议; 现场说明并不总是有用。

    (您也可以使用自己的设备)

  4. 运行设备:

    emulator -avd DEVICE
     
  5. 如果设备屏幕似乎已锁定,则滑动以将其解锁。

    在编写应用程序时让它保持运行。

编写应用程序

  1. 切换到空工作目录。

  2. 制作源文件:

    emulator -avd DEVICE
     

    内容:

    emulator -avd DEVICE
     
  3. 添加清单:

    emulator -avd DEVICE
     

    内容:

    emulator -avd DEVICE
     
  4. 为声明的资源创建一个子目录:

    emulator -avd DEVICE
     

    暂时把它留空。

构建代码

  1. 生成资源声明的源。在这里替换SDK的正确路径,以及要构建的已安装API (例如“android-23”):

    emulator -avd DEVICE
     

    资源声明(下面进一步描述)实际上是可选的。同时,如果res /仍为空,则上述调用不执行任何操作。

  2. 将源代码编译为Java字节码(.java→.class):

    emulator -avd DEVICE
     
  3. 将字节码从Java转换为Android(.class→.dex):

    首先使用Jill(.class→.jayce):

    emulator -avd DEVICE
     

    杰克(.jayce→.dex):

    emulator -avd DEVICE
     

    Android字节码曾被称为“Dalvik可执行代码”,因此称为“dex”。

    如果你愿意的话,你可以用一次电话取代Jack替换步骤11和12;它可以直接从Java源代码编译(.java→.dex)。但是使用javac 进行编译有一些优势。它是一个更好的已知,更好的文档和更广泛适用的工具。

  4. 打包资源文件,包括清单:

    emulator -avd DEVICE
     

    这导致部分APK文件(Android应用程序包)。

  5. 使用ApkBuilder 工具制作完整的APK:

    emulator -avd DEVICE
     

    它警告说,“这个工具已被弃用。有关更多信息,请参阅--help。”如果--help 失败并出现ArrayIndexOutOfBoundsException ,则不传递任何参数:

    emulator -avd DEVICE
     

    它解释了不推荐使用CLI( ApkBuilderMain ),而是直接调用Java API( ApkBuilder )。 (如果您知道如何从命令行执行此操作,请更新此示例。)

  6. 优化APK的数据对齐( 推荐做法 ):

    emulator -avd DEVICE
     

安装并运行

  1. 将应用安装到Android设备:

    emulator -avd DEVICE
     
  2. 启动应用:

    emulator -avd DEVICE
     

    它应该运行并打个招呼。

就这样。这就是用基本的Android工具打招呼所需要的。

声明资源

此部分是可选的。简单的“hello world”应用程序不需要资源声明。如果您的应用程序不需要它们,那么您可以通过省略步骤10并从步骤13中删除对res /目录的引用来稍微简化构建。

否则,这是一个如何声明资源以及如何引用它的简短示例。

  1. 添加资源文件:

    emulator -avd DEVICE
     

    内容:

    emulator -avd DEVICE
     
  2. 从XML清单引用资源。这是一种声明式的参考风格:

    emulator -avd DEVICE
     
  3. 从Java源引用相同的资源。这是一个必要的参考:

    emulator -avd DEVICE
     
  4. 通过重建,重新安装和重新运行应用程序来测试上述修改(步骤10-17)。

    它应该重新启动并说“这个应用程序叫做Saying hello”。

卸载应用程序

emulator -avd DEVICE
 

也可以看看

应用基础知识

Android应用程序是用Java编写的。 Android SDK工具将代码,数据和资源文件编译为APK(Android包)。通常,一个APK文件包含应用的所有内容。

每个应用程序都在自己的虚拟机(VM)上运行,以便应用程序可以与其他应用程序隔离运行。 Android系统使用最小权限原则。每个应用程序只能访问其工作所需的组件,而不是更多。但是,有一些应用程序可以与其他应用程序共享数据,例如通过在应用程序之间共享Linux用户ID,或者应用程序可以请求访问SD卡,联系人等设备数据的权限。

应用组件

应用程序组件是Android应用程序的构建块。每个组件在Android应用程序中扮演特定角色,该应用程序具有不同的用途并具有不同的生命周期(组件创建和销毁的方式和时间流程)。以下是四种类型的应用程序组件:

  1. 活动:活动表示具有用户界面(UI)的单个屏幕。 Android应用可能包含多项活动。 (例如,电子邮件应用程序可能有一个活动列出所有电子邮件,另一个用于显示每封电子邮件的内容,另一个用于撰写新电子邮件。)应用程序中的所有活动共同创建用户体验(UX)。
  2. 服务:服务在后台运行以执行长时间运行的操作或执行远程进程的工作。服务不提供任何UI,它仅在用户输入的后台运行。 (例如,当用户在不同的应用程序中时,服务可以在后台播放音乐,或者它可以从互联网上下载数据而不会阻止用户与Android设备的交互。)
  3. 内容提供商:内容提供商管理共享应用数据。有四种方法可以在应用程序中存储数据:它可以写入文件并存储在文件系统中,插入或更新到SQLite数据库,发布到Web或保存在App可以访问的任何其他持久存储位置。通过内容提供商,其他应用可以查询甚至修改数据。 (例如,Android系统提供管理用户联系信息的内容提供商,以便任何具有权限的应用可以查询联系人。)内容提供商还可用于保存应用程序专用的数据,以提高数据完整性。
  4. 广播接收器:广播接收器响应系统范围的广播广播(例如,宣布屏幕已关闭,电池电量低等的广播)或来自应用程序(例如,让其他应用程序知道某些数据已被下载到设备并可供他们使用)。广播接收器没有UI,但是它们可以在状态栏中显示通知以提醒用户。通常,广播接收器用作应用程序其他组件的网关,主要由活动和服务组成。

Android系统的一个独特之处在于,任何应用程序都可以启动另一个应用程序的组件(例如,如果您想要拨打电话,发送短信,打开网页或查看照片,有一个应用程序已经这样做,您的应用程序可以利用它,而不是为同一个任务开发一个新的活动)。

当系统启动一个组件时,它会启动该应用程序的进程(如果它尚未运行,即每个应用程序在Android系统上的任何给定时间只能运行一个前台进程)并实例化该组件所需的类。因此,组件在其所属的应用程序的进程上运行。因此,与其他系统上的应用程序不同,Android应用程序没有单个入口点(没有main() 方法)。

由于系统在单独的流程中运行每个应用程序,因此一个应用程序无法直接激活其他应用程序的组件,但Android系统可以。因此,要启动另一个应用程序的组件,一个应用程序必须向系统发送一条消息,指定启动该组件的意图,然后系统将启动该组件。

上下文

android.content.Context 类的实例提供与执行应用程序的Android系统的连接。需要Context的实例来访问项目的资源以及有关应用程序环境的全局信息。

让我们有一个易于理解的例子:假设你在酒店,你想要吃点东西。你打电话给客房服务,并要求他们带给你东西或为你清理东西。现在想想这个酒店作为一个Android应用程序,你自己作为一项活动,然后客房服务人员就是你的背景,它可以让你访问酒店资源,如客房服务,食品等。

还有一个例子,你坐在一张桌子上的餐厅,每张桌子都有一个服务员,当你想订购食品时,你要求服务员这样做。然后服务员下订单,食物送到您的桌子上。再次在这个例子中,餐厅是一个Android应用程序,表或客户是应用程序组件,食品项目是您的应用程序资源,服务员是您的上下文,从而为您提供访问食品等资源的方法。

激活上述任何组件都需要上下文的实例。不仅仅是上述,而且几乎每个系统资源:使用视图创建UI(稍后讨论),创建系统服务实例,启动新活动或服务 - 都需要上下文。

更详细的描述写在这里

创建一个新项目

设置Android Studio

首先设置Android Studio ,然后打开它。现在,您已准备好制作首个Android应用程序了!

注意:本指南基于Android Studio 2.2,但其他版本的过程主要是相同的。

配置您的项目

基本配置

您可以通过两种方式启动新项目:

  • 单击欢迎屏幕中的“ Start a New Android Studio Project ”。
  • 如果您已打开New Project ,请导航到FileNew Project

接下来,您需要填写一些字段来描述您的应用程序:

  1. 应用程序名称 - 此名称将显示给用户。

    示例: Hello World 。您可以随后在AndroidManifest.xml 文件中进行更改。

  2. 公司域 - 这是项目包名称的限定符。

    示例: stackoverflow.com

  3. 包名称 (又名applicationId ) - 这是完全限定的项目包名称。

    它应该遵循反向域名表示法 (又名反向DNS ): 顶级域名 公司域名 [ 公司细分 ] 申请名称

    示例: com.stackoverflow.android.helloworldcom.stackoverflow.helloworld 。您始终可以通过在gradle文件中覆盖applicationId来更改它。

除非您不打算将您的应用程序提交到Google Play商店,否则请勿使用默认前缀“com.example”。包名称将是您在Google Play中的唯一applicationId

  1. 项目位置 - 这是存储项目的目录。

新项目对话框

选择Form Factors和API Level

在下一个窗口中,您可以选择应用支持的外形规格,例如手机,平板电脑,电视,Wear和Google Glass。选定的形状因子成为项目中的app模块。对于每种外形规格,您还可以选择该应用的API级别。要获取更多信息,请单击“ 帮助我选择”

在此处输入图像描述 当前Android版本发行版的图表,当您单击“帮助我选择”时显示。

Android平台分发窗口显示运行每个Android版本的移动设备的分布,如图2所示。单击API级别以查看相应Android版本中引入的功能列表。这有助于您选择具有应用所需的所有功能的最低API级别,以便您可以访问尽可能多的设备。然后单击确定

现在,选择应用程序将支持的Android SDK平台和版本

SDK版本对话框

目前,仅选择手机和平板电脑

最低SDK是您的应用程序的下限。这是Google Play Store 用于确定可以安装应用的设备的信号之一。例如, Stack Exchange的应用程序支持Android 4.1+。

Stack Exchange的应用程序
Android Studio会告诉您(大约)在指定的最小SDK的情况下支持的设备百分比。

较低的API级别针对更多设备,但可用的功能较少。

在决定使用Minimum SDK时 ,您应该考虑Dashboards统计信息 ,它会为您提供有关上周访问Google Play商店的设备的版本信息。

当前Android发行版的截图

来自:Android开发者网站上的Dashboards

添加活动

现在我们将为我们的应用程序选择一个默认活动。在Android中, Activity 是一个将呈现给用户的单个屏幕。应用程序可以容纳多个活动并在它们之间导航。对于此示例,请选择Empty Activity 并单击next。

在这里,如果您愿意,可以更改活动和布局的名称。一个好的做法是将Activity 作为活动名称的后缀,并将activity_ 作为布局名称的前缀。如果我们将这些保留为默认值,Android Studio将为我们生成一个名为MainActivity 的活动,以及一个名为activity_main 的布局文件。现在单击Finish

Android Studio将创建和配置我们的项目,这可能需要一些时间,具体取决于系统。

检查项目

要了解Android的工作原理,让我们来看看为我们创建的一些文件。

在Android Studio的左侧窗格中,我们可以看到Android应用程序结构

基本应用结构

首先,让我们通过双击打开AndroidManifest.xml 。 Android清单文件描述了有关Android应用程序的一些基本信息。它包含我们活动的声明,以及一些更高级的组件。

如果应用程序需要访问受权限保护的功能,则必须声明它需要具有清单中<uses-permission> 元素<uses-permission> 。然后,当应用程序安装在设备上时,安装程​​序通过检查签署应用程序证书的权限并在某些情况下询问用户来确定是否授予所请求的权限。应用程序还可以使用权限保护自己的组件(活动,服务,广播接收器和内容提供商)。它可以使用Android定义的任何权限(在android.Manifest.permission中列出)或由其他应用程序声明。或者它可以定义自己的。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

接下来,让我们打开位于app/src/main/res/layout/activity_main.xml 。此文件包含MainActivity的可视组件的声明。你会看到视觉设计师。这允许您将元素拖放到选定的布局上。

您还可以通过单击Android Studio底部的“文本”切换到xml布局设计器,如下所示:

布局设计/文本选项卡

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

您将在此布局中看到一个名为TextView 的小部件,其中android:text 属性设置为“Hello World!”。这是一个文本块,将在用户运行应用程序时显示。

您可以阅读有关布局和属性的更多信息。

接下来,我们来看看MainActivity 。这是为MainActivity 生成的Java代码。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

根据我们的Android清单中的定义,当用户启动HelloWorld 应用程序时, MainActivity 将默认启动。

最后,打开位于app/ 名为build.gradle 的文件。
Android Studio使用构建系统Gradle来编译和构建Android应用程序和库。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

此文件包含有关构建和应用程序版本的信息,您还可以使用它来向外部库添加依赖项。现在,我们不做任何改变。

建议始终选择可用于依赖项的最新版本:

compileSdkVersion

compileSdkVersion 是告诉Gradle用什么版本的Android SDK来编译你的应用程序的方法。使用新的Android SDK是使用该级别中添加的任何新API的要求。

应该强调的是,更改compileSdkVersion 不会改变运行时行为。虽然在更改compileSdkVersion 时可能存在新的编译器警告/错误,但您的compileSdkVersion 不包含在您的APK中:它纯粹在编译时使用。

因此,强烈建议您始终使用最新的SDK进行编译。您将获得对现有代码进行新编译检查的所有好处,避免新弃用的API,并准备好使用新API。

的minSdkVersion

如果compileSdkVersion 设置了最新的API,则minSdkVersion 是应用程序的下限minSdkVersion 是Google Play商店用于确定应用程序可以安装在哪个用户设备上的信号之一。

它在开发过程中也扮演着重要角色:默认情况下,lint针对您的项目运行,当您使用minSdkVersion 上方的任何API时会发出警告,帮助您避免尝试调用不存在的API的运行时问题。在仅在较新的平台版本上使用API​​时,在运行时检查系统版本是一种常见技术。

targetSdkVersion

targetSdkVersion 是Android通过不应用行为更改来提供向前兼容性的主要方式,除非更新了targetSdkVersion 。这允许您在完成行为更改之前使用新的API。更新以定位最新的SDK应该是每个应用程序的高优先级。这并不意味着您必须使用所引入的每个新功能,也不应该盲目地更新targetSdkVersion 而不进行测试。

targetSDKVersion是Android的版本,它是可用工具的上限。如果targetSDKVersion小于23,则即使应用程序在API 23+上运行,应用程序也不需要在运行时为实例请求权限。 TargetSDKVersion 并不妨碍Android的版本采摘Android版本上面运行的应用程序。

您可以找到有关Gradle插件的更多信息:

运行应用程序

现在,让我们运行我们的HelloWorld应用程序。您可以运行Android虚拟设备(可以使用Android Studio中的AVD Manager进行设置,如下例所示),也可以通过USB线连接自己的Android设备。

设置Android设备

要在Android设备上从Android Studio运行应用程序,您必须在设备设置的Developer Options 中启用USB Debugging

Settings > Developer options > USB debugging

如果在设置中看不到“ Developer Options ”,请导航至“ About Phone 然后点击“ Build Number 七次。这将使Developer Options 显示在您的设置中。

Settings > About phone > Build number

您还可能需要更改build.gradle 配置以构建设备所具有的版本。

从Android Studio运行

单击Android Studio顶部工具栏中的绿色Run 按钮。在出现的窗口中,选择要在其上运行应用程序的设备(如有必要,请启动Android虚拟设备,或者如果需要设置 ,请参阅设置AVD(Android虚拟设备) )并单击“ OK

运行按钮

在运行Android 4.4(KitKat)且可能更高的设备上,将显示一个弹出窗口以授权USB调试。单击“ OK 接受。

该应用程序现在将在您的Android设备或模拟器上安装并运行。

APK文件位置

准备发布应用程序时,可以配置,构建和测试应用程序的发行版。配置任务很简单,涉及基本代码清理和代码修改任务,有助于优化您的应用程序。构建过程类似于调试构建过程,可以使用JDK和Android SDK工具完成。测试任务可作为最终检查,确保您的应用程序在实际条件下按预期执行。准备好发布应用程序后,您将拥有一个已签名的APK文件,您可以将其直接分发给用户或通过Google Play等应用程序市场进行分发。

Android Studio

由于在上面的示例中使用了Gradle,因此生成的APK文件的位置为: <Your Project Location>/app/build/outputs/apk/app-debug.apk

的IntelliJ

如果您在切换到Studio之前是IntelliJ的用户,并且直接导入IntelliJ项目,则没有任何更改。输出的位置将在下面相同:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

注意:这有时会在1.0左右被弃用

日食

如果您直接导入Android Eclipse项目,请不要这样做!只要您的项目(罐子或库项目)中有依赖项,这将无效,您的项目将无法正确设置。如果你没有依赖关系,那么apk将与你在Eclipse中找到它的位置相同:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

设置AVD(Android虚拟设备)

TL; DR它基本上允许我们模拟真实设备并在没有真实设备的情况下测试我们的应用程序。

根据Android开发者文档

通过Android虚拟设备(AVD)定义 ,您可以定义要在Android模拟器中模拟的Android手机,平板电脑,Android Wear或Android TV设备的特征。 AVD Manager可帮助您轻松创建和管理AVD。

要设置AVD,请按照下列步骤操作:

1.单击此按钮以显示AVD管理器:

AVD Manager图标

2.你应该看到这样的对话:

AVD Manager对话框

3.现在单击+ Create Virtual Device... 按钮。这将打开虚拟设备配置对话框:

虚拟设备配置对话框

4.选择所需的任何设备,然后单击“ Next

选择系统映像

5.在这里,您需要为您的模拟器选择Android版本。您可能还需要先单击“ Download 下载它。选择版本后,单击“ Next

高级设置

6.在此处输入模拟器的名称,初始方向以及是否要在其周围显示框架。选择所有这些后,单击“ Finish

7.现在您已准备好新的AVD,可以在其上启动您的应用程序。

AVD

设置Android Studio

Android Studio是Android开发的IDE,由Google正式支持和推荐。 Android Studio捆绑了Android SDK Manager ,这是一个下载开始开发应用程序所需的Android SDK 组件的工具。

安装Android Studio和Android SDK 工具:

  1. 下载并安装Android Studio
  2. 通过打开Android Studio,然后按照Android SDK工具更新说明下载最新的SDK工具和SDK平台工具。您应该安装最新的可用稳定包。

如果您需要处理使用较旧SDK版本构建的旧项目,则可能还需要下载这些版本

从Android Studio 2.2开始,最新的OpenJDK副本与安装捆绑在一起,是所有Android Studio项目的推荐JDK (Java开发工具包)。这消除了安装Oracle JDK包的要求。要使用捆绑的SDK,请执行以下操作:

  1. 在Android Studio中打开项目,然后在菜单栏中选择“ 文件”>“项目结构 ”。
  2. SDK Location页面和JDK位置下 ,选中Use embedded JDK复选框。
  3. 单击确定

配置Android Studio

Android Studio通过“ 帮助”菜单提供对两个配置文件的访问:

  • studio.vmoptions :自定义Studio的Java虚拟机(JVM)选项,例如堆大小和缓存大小。请注意,在Linux计算机上,此文件可能名为studio64.vmoptions ,具体取决于您的Android Studio版本。
  • idea.properties :自定义Android Studio属性,例如插件文件夹路径或支持的最大文件大小。

更改/添加主题

您可以根据自己的喜好进行更改。 File->Settings->Editor->Colors & Fonts-> 并选择一个主题。您也可以从http://color-themes.com/下载新主题。下载.jar.zip 文件后,转到File -> Import Settings... 并选择下载的文件。

编译应用程序

在Android Studio中创建新项目或打开现有项目,然后按绿色“播放”按钮在此处输入图像描述在顶部工具栏上运行它。如果它是灰色的,您需要等待一秒钟以允许Android Studio正确索引某些文件,其进度可以在底部状态栏中看到。

如果要从shell创建项目,请确保您具有local.properties 文件,该文件由Android Studio自动创建。如果您需要在没有Android Studio的情况下创建项目,则需要以sdk.dir= 开头的行,然后是SDK安装的路径。

打开一个shell并进入项目目录。输入./gradlew aR 并按Enter键。 aRassembleRelease 的快捷方式,它将为您下载所有依赖项并构建应用程序。最终的APK文件将在ProjectName/ModuleName/build/outputs/apk ,并将被称为ModuleName-release.apk

Stats

19840 Contributors: 88
Thursday, August 3, 2017
许可下: CC-BY-SA

不隶属于 Stack Overflow
Rip Tutorial: info@zzzprojects.com

下载电子书