2) 十分钟学会android--建立第一个APP,执行Android程序
通过上一节课创建了一个Android的Hello World项目,项目默认包含一系列源文件,它让我们可以立即运行应用程序。
如何运行Android应用取决于两件事情:是否有一个Android设备和是否正在使用Android Studio开发程序。本节课将会教使用Android Studio和命令行两种方式在真实的android设备或者android模拟器上安装并且运行应用。
在真实设备上运行
如果有一个真实的Android设备,以下的步骤可以使我们在自己的设备上安装和运行应用程序:
手机设置
- 把设备用USB线连接到计算机上。如果是在windows系统上进行开发的,你可能还需要安装你设备对应的USB驱动,详见OEM USB Drivers 文档。
- 开启设备上的USB调试选项。
- 在大部分运行Andriod3.2或更老版本系统的设备上,这个选项位于“设置>应用程序>开发选项”里。
- 在Andriod 4.0或更新版本中,这个选项在“设置>开发人员选项”里。
Note: 从Android4.2开始,开发人员选项在默认情况下是隐藏的,想让它可见,可以去设置>关于手机(或者关于设备)点击版本号七次。再返回就能找到开发人员选项了。
从Android Studio运行程序
选择项目的一个文件,点击工具栏里的Run
按钮。
Choose Device窗口出现时,选择Choose a running device单选框,点击OK。
Android Studio 会把应用程序安装到我们的设备中并启动应用程序。
从命令行安装运行应用程序
打开命令行并切换当前目录到Andriod项目的根目录,在debug模式下使用Gradle编译项目,使用gradle脚本执行assembleDebug编译项目,执行后会在build/目录下生成MyFirstApp-debug.apk。
Windows操作系统下,执行:
gradlew.bat assembleDebug
Mac OS或Linux系统下:
$ chmod +x gradlew
$ ./gradlew assembleDebug
编译完成后在app/build/outputs/apk/目录生成apk。
Note: chmod命令是给gradlew增加执行权限,只需要执行一次。
确保 Android SDK里的 platform-tools/
路径已经添加到环境变量PATH
中,执行:
adb install bin/MyFirstApp-debug.apk
在我们的Android设备中找到 MyFirstActivity,点击打开。
在模拟器上运行
无论是使用 Android Studio 还是命令行,在模拟器中运行程序首先要创建一个 Android Virtual Device(AVD)。AVD 是对 Android 模拟器的配置,可以让我们模拟不同的设备。
创建一个 AVD:
1. 启动 Android Virtual Device Manager(AVD Manager)的两种方式:
* 用Android Studio, **Tools > Android > AVD Manager**,或者点击工具栏里面Android Virtual Device Manager;
* 在命令行窗口中,把当前目录切换到`<sdk>/tools/` 后执行:
android avd
2. 在AVD Manager 面板中,点击Create Virtual Device.
3. 在Select Hardware窗口,选择一个设备,比如 Nexus 6,点击Next。
4. 选择列出的合适系统镜像.
5. 校验模拟器配置,点击Finish。
更多AVD的知识请阅读Managing AVDs with AVD Manager.
从Android Studio运行程序:
1. 在Android Studio选择要运行的项目,从工具栏选择Run;
2. Choose Device窗口出现时,选择Launch emulator单选框;
3. 从 Android virtual device下拉菜单选择创建好的模拟器,点击OK;
模拟器启动需要几分钟的时间,启动完成后,解锁即可看到程序已经运行到模拟器屏幕上了。
从命令行安装运行应用程序
1. 用命令行编译应用,生成位于app/build/outputs/apk/的apk;
2. 确认platform-tools/ 已添加到PATH环境变量;
3. 执行如下命令:
adb install app/build/outputs/MyFirstApp-debug.apk
4. 在模拟器上找到MyFirstApp,并运行。
以上就是创建并在设备上运行一个应用的全部过程!
2) 十分钟学会android--建立第一个APP,执行Android程序的更多相关文章
- 3) 十分钟学会android--建立第一个APP,建立简单的用户界面
在本小节里,我们将学习如何用 XML 创建一个带有文本输入框和按钮的界面.下一节课将学会使 APP 对按钮做出响应——按钮被按下时,文本框里的内容被发送到另外一个 Activity. Android ...
- 1) 十分钟学会android--建立第一个APP,创建android项目
一个Android项目包含了所有构成Android应用的源代码文件. 本小节介绍如何使用Android Studio或者是SDK Tools中的命令行来创建一个新的项目. Note:在此之前,我们应该 ...
- 4) 十分钟学会android--建立第一个APP,启动另一个Activity
在完成上一课(建立简单的用户界面)后,我们已经拥有了显示一个activity(一个界面)的app(应用),该activity包含了一个文本字段和一个按钮.在这节课中,我们将添加一些新的代码到MyAct ...
- PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony
这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...
- android studio 导入一个已有的android studio project作为lib使用
android studio 导入一个已有的android studio project作为lib使用 新项目来了. 需要搭建框架. android studio对我来说还是很陌生,之前一个项目在同事 ...
- 9) 十分钟学会android--使用Fragment建立动态UI
为了在 Android 上为用户提供动态的.多窗口的交互体验,需要将 UI 组件和 Activity 操作封装成模块进行使用,这样我们就可以在 Activity 中对这些模块进行切入切出操作.可以用 ...
- 十分钟学会 tmux
tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理.在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求. 如上图所示,iTerm2 能新建多个标签页(快捷键 ...
- 快速入门:十分钟学会Python
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
- Python十分钟学会
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
随机推荐
- ADSL和ITV
1.ADSL和ITV两者占用的是不同的虚通道,也就是使用不同的VLAN: 2.的确上通过不同的VPI/VCI来区分ADSL和ITV在不同通道,但不会互不影响的,因为使用的还是同一条线路的宽带速度: 3 ...
- Java发送邮件示例
利用Java发送邮件示例: 1.发送QQ邮件 import java.util.Properties; import javax.mail.Message; import javax.mail.Mes ...
- ip addr
ip 32 位.四个字节.IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同.A.B.C三类IP地址的特征:当 ...
- UTF-8 的中文檔案名上傳問題
在上传文件后,一般都会用 move_uploaded_file() 进行文件移动改名.但是 move_uploaded_file() 并不支持 UTF-8 编码,如果含有,那么函数就会执行失败,但是这 ...
- Hiho1041 国庆出游 搜索题解
题目3 : 国庆出游 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小Hi和小Ho准备国庆期间去A国旅游.A国的城际交通比較有特色:它共同拥有n座城市(编号1-n): ...
- 获取Linux磁盘分区的UUID
在设置fstab自动挂载时,需要填写如下的信息: # <file system> <mount point> <type> <options> < ...
- JavaScript基础 -- BOM
JavaScript三大核心: 1)核心(ECMAScript):描述了JS的语法和基本对象 2)文档对象模型(DOM):处理网页内容的方法和接口 3)浏览器对象模型(BOM):与浏览器交互的方法和接 ...
- [Codeforces 482A] Diverse Permutation
[题目链接] https://codeforces.com/contest/482/problem/A [算法] 首先构造一个(k + 1)个数的序列 , 满足它们的差为1-k 对于i > k ...
- P4460 [CQOI2018]解锁屏幕
算是我比较擅长的类型,自己想想就会了.普通小状压,状态傻子都能想出来.一开始裸的枚举T了,30.后来与处理之后跑的飞起,就是不对,还是30分.后来看讨论版...mod竟然是1e8+7!!!这不有毒吗. ...
- Java DAO模式
DAO模式: DAO(DateAccessObject,数据存取对象) 位于业务逻辑和持久化数据之间,实现对持久化数据的访问. DAO组成: DAO接口: 数据库的所有操作定义成抽象方法,可以提供多种 ...