[Android系列—] 1. Android 开发环境搭建与Hello World
前言
开始之前先熟悉几个名词:
SDK -- Software Development Kit, 软件开发工具包。这个词并不陌生, JDK,就是Jave Development Kit,同样对于Android 来说也有Android SDK.
Android SDK 提供了构建,测试和调试安卓应用的API 库和开发者工具。
ADT- Android Developer Tools.安卓开发者工具, 其实这里就是Eclipse 用于Android 开发的插件。
快速开发环境搭建
在搭建Android 开发环境之前, 首先要安装JDK,然后下载一个ADT Bundle.
ADT Bundle 是为了快速开发提供的一个下载包
这个下载包包含了:
1, Eclipse 和ADT 插件
2. Android SDK Tools
3. Android Platform-tools
4. The latest Android platform
5. The latest Android system image for the emulator
1. 下载安装JDK
JDK 目前的最新版本已经到 1.8 版了。
就目前的ADT的要求来说, 1.6 版就可以了。
这里使用的是 : jdk1.6.0_24 版本。
JDK的历史版本下载可以到:
http://www.oracle.com/technetwork/java/javase/archive-139210.html
下载完成之后, 点击执行, 一直next 就可以了。
安装完成后配置以下JAVA_HOME.
这里配置成: C:\Program Files\Java\jdk1.6.0_24
2. 下载安装ADT Bundle
ADT Bundle 其实下载解压就可以了。
下载地址: http://developer.android.com/sdk/index.html
点击图中的按钮就可以了:
目前的最新文件号是 : adt-bundle-windows-x86-20140321.zip
下载完成后解压到你需要的目录, 这里解压到 C:\mysoftware 中, 解压后的目录结构:
至此, 环境基本上搭建完成。
也可到如下地址下载:
https://onedrive.live.com/redir?resid=5B4EDBCD9EF1AB6B!195&authkey=!AB78ZyhxOx5kUMs&ithint=file%2c.zip
Eclipse 无法启动
理论上,此时进入eclipse 目录点击 eclipse.exe 应该就可以启动了。
但是, 发现eclipse 启动之后 , 闪一下就没有了。
eclipse 目录下产生一个 hs_err_pidXXXX.log 的错误文件。
错误的内容如下:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x575cf75b, pid=5912, tid=5832
#
# JRE version: Java(TM) SE Runtime Environment (7.0_55-b13) (build 1.7.0_55-b13)
# Java VM: Java HotSpot(TM) Client VM (24.55-b03 mixed mode windows-x86 )
# Problematic frame:
# C [gdiplus.dll+0xf75b]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#--------------- T H R E A D ---------------Current thread (0x00df9800): JavaThread "main" [_thread_in_native, id=5832, stack(0x00030000,0x00130000)]siginfo: ExceptionCode=0xc0000005, reading address 0xa74c9eb4Registers:
EAX=0x1008090b, EBX=0x57975790, ECX=0x00000002, EDX=0x00000010
ESP=0x0012e41c, EBP=0x0012e430, ESI=0xa74c9eb4, EDI=0xa74c9eb4
EIP=0x575cf75b, EFLAGS=0x00010297Top of Stack: (sp=0x0012e41c)
0x0012e41c: 57782d78 57782db0 00000001 a74c9eb4
0x0012e42c: a74c9eb4 0012e44c 575cf3a3 00000002
0x0012e43c: 57975790 a74c9eb4 57782d60 000003ad
0x0012e44c: 0012e4a4 5769aaa2 a74c9eb4 57975790
0x0012e45c: 00000002 000003ad 0000004f 00000000
0x0012e46c: 57949d48 57782d60 a742b000 57782d60
0x0012e47c: a742b000 00000004 00000000 00000000
0x0012e48c: 00000002 00000000 00000004 00000000 Instructions: (pc=0x575cf75b)
0x575cf73b: 57 90 90 90 90 8b 03 8b d0 c1 ea 18 83 fa 00 74
0x575cf74b: 45 81 fa ff 00 00 00 0f 84 3c f6 ff ff 0f 6e e0
0x575cf75b: 8b 06 0f 6e c0 0f 60 c7 81 f2 ff 00 00 00 0f 6e
0x575cf76b: d2 0f 61 d2 0f 62 d2 0f d5 c2 0f fd c3 0f 6f d0 Register to memory mapping:EAX=0x1008090b is an unallocated location in the heap
EBX=0x57975790 is an unknown value
ECX=0x00000002 is an unknown value
EDX=0x00000010 is an unknown value
ESP=0x0012e41c is pointing into the stack for thread: 0x00df9800
EBP=0x0012e430 is pointing into the stack for thread: 0x00df9800
ESI=0xa74c9eb4 is an unknown value
EDI=0xa74c9eb4 is an unknown valueStack: [0x00030000,0x00130000], sp=0x0012e41c, free space=1017k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [gdiplus.dll+0xf75b]
C [gdiplus.dll+0xf3a3]
C [gdiplus.dll+0xdaaa2]
C [gdiplus.dll+0xdac57]
C [gdiplus.dll+0x79c24]
C [gdiplus.dll+0x16d7b]
C [gdiplus.dll+0xf2c0]
C [gdiplus.dll+0x4efe2]
C [gdiplus.dll+0x6d257]
C [gdiplus.dll+0x6d208]
C [gdiplus.dll+0x6d55e]
C [gdiplus.dll+0x9fbbc]
C [gdiplus.dll+0x9fcc8]
C [swt-gdip-win32-4236.dll+0x532b]
j org.eclipse.swt.internal.gdip.Gdip.Graphics_DrawLines(II[II)I+0
j org.eclipse.swt.graphics.GC.drawPolyline([I)V+72
j org.eclipse.e4.ui.workbench.addons.perspectiveswitcher.PerspectiveSwitcher.paint(Lorg/eclipse/swt/events/PaintEvent;)V+116
j org.eclipse.e4.ui.workbench.addons.perspectiveswitcher.PerspectiveSwitcher$5.paintControl(Lorg/eclipse/swt/events/PaintEvent;)V+5
j org.eclipse.swt.widgets.TypedListener.handleEvent(Lorg/eclipse/swt/widgets/Event;)V+1036
J org.eclipse.swt.widgets.EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V
j org.eclipse.swt.widgets.Widget.sendEvent(ILorg/eclipse/swt/widgets/Event;Z)V+73
j org.eclipse.swt.widgets.Widget.sendEvent(ILorg/eclipse/swt/widgets/Event;)V+4
j org.eclipse.swt.widgets.Composite.WM_PAINT(II)Lorg/eclipse/swt/internal/win32/LRESULT;+1429
J org.eclipse.swt.widgets.Control.windowProc(IIII)I
V [jvm.dll+0x13f25a]
V [jvm.dll+0x202c1e]
V [jvm.dll+0x13f2dd]
V [jvm.dll+0xc9b22]
V [jvm.dll+0xcc0d3]
C [swt-win32-4236.dll+0x122f]
C 0x56d80018
C [USER32.dll+0x8734]
C [USER32.dll+0x8816]
C [USER32.dll+0x1a013]
C [USER32.dll+0x1a039]
从以上错误,很难看出是什么原因造成的, 只是大概知道无法读内存。
这里直接给出解法:
修改 eclipse.ini 的 -Xmx 的配置, 从 768 改成 600
修改之后保存, 重启eclipse, 一切正常了。
果然是内存问题造成了。
应该通过配置java_ops 也能解决问题。
Hello World
到这里, 环境搭建就没问题了。
接下来, 创建一个Android 的Hello World.
1. 添加一个安卓虚拟设备
直接点击虚拟设备管理图标或是 Window-->Android Virtual Device Manager
点击 "new ", 添加
2. 建立一个安卓应用程序
3. 什么都不做, 直接运行
4. 运行结果
5. 点击进入应用程序的页面,就能开发开发和安装的首个 android app了,
6. 点击 MyFirstApp
Failed to install *.apk on device ...
正常的状况下, 点击运行后,控制台应该出现
在有些机器下,在控制台可能会出现
Failed to install *.apk on device 的错误。
解决方法是:
打开 SDK Manager , 勾选 https
其他安装方式
1. 单独安装方式
step1: 安装 Android SDK Tools
Step2: 安装Eclipse 的Android 插件:
地址:
Android Plugin - https://dl-ssl.google.com/android/eclipse/
2. 安装Android Studio
android 官方推荐的开发工具目前(2015 或更早)已经是android Studio(而不是ADT Bundle)
下载可以进入:
http://developer.android.com/sdk/index.html
[Android系列—] 1. Android 开发环境搭建与Hello World相关推荐
- 【先楫HPM6750系列】RT-Thread开发环境搭建和Hello World
[先楫HPM6750系列]RT-Thread开发环境搭建和Hello World 本篇介绍HPM6750开发板的RT-Thread Studio开发环境搭建,以及在RT-Thread Studio环境 ...
- 涂鸦智能模组SDK开发系列课程——SoC开发环境搭建(一)
SoC开发环境搭建 本章节主要介绍如何搭建涂鸦 Wi-Fi 和 Wi-Fi&Bluetooth LE 系列模组二次开发的编译环境.在 Windows 上使用 VirtualBox 虚拟机软件安 ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
一.安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可. http://www.oracle.com/technetwork/java/javase/downloads/jdk ...
- android 入门之一【开发环境搭建】
这里的开发环境采用Eclipse+android 开发插件,其它的开发环境不做介绍 一.安装JDK android 开发语言是基于Java的,所以要做android的开发必须要安装JDK,并且对JDK ...
- android stdudio OpenCV NDK 开发环境搭建 之找查条形码
开发环境 Android Studio 3.6 SDK 28 NDK:android-ndk-r17b JAVA JDK 1.8 1,opencv sdk 下载 我这里下载的是 3.4.8 OpenC ...
- 手牵手系列之TypeScript开发环境搭建
新建项目 初始化 npm init 安装全局依赖 npm install typescript tslint -g 执行命令初始化,项目根目录生成tsconfig.json文件 tsc --init ...
- 华为云DevCloud管理App开发之一:Git连接华为代码托管CodeHub,iOS和Android本地和云端开发环境搭建
目录 背景 1 华为云DevCloud端建项目 2 华为云DevCloud端建仓库 3 本地Xcode通过Git连接华为云LiOS仓库 4 本地Android Studio通过Git连接华为云LAnd ...
- win10下pyqt5低功耗蓝牙系列一:开发环境搭建
1.序言 之前在网上搜索关于python实现低功耗蓝牙(BLE)的案例,基本都是让安装pybluez等之类的工具,实测发现基本行不通,具体原因也不记得了,折腾了将近一个星期时间.这两天看Qt的QtBl ...
- android 7 开发环境搭建,win7下android 开发环境搭建
第一步:准备JDK最小版本1.5 第二部:准备环境所需要的安装介质Eclipse ,ADT和windows平台下的SDK. 等待安装JDK和eclipse完成后,在eclipse中选择Help-> ...
- SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信...
SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--5.Android手机端与robot端ROS网络通信 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整 ...
最新文章
- python主要用来开发什么-python主要用于什么开发?
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 使用反射获取方法创建本应用的 dexElements | 各版本创建 dex 数组源码对比 )
- 解决eclipse + pydev 编译过程中有中文的问题
- 解决Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location
- c语言程序40例,C语言程序讲解40例.pdf
- 2020 Intel数据平面创新赋能未来网络-李雪峰
- Excel2003 使用技巧
- 智能一代云平台(三十六):项目中如何做到避免传递依赖
- linux系统ca证书认证失败修复过程记录
- ssci源刊里有开源期刊吗_ssci源刊里有开源期刊吗_啥是核心期刊?啥是北核啥是南核?啥是国家级?啥又是省级?都给你整明白......
- 【新闻文本分类】(task4)使用gensim训练word2vec
- 特定软件无法联网,nslookup无法解析任何地址,但是其他业务工作正常的故障...
- OpenStack+Ceph存储空间回收
- 冲激函数与冲激函数相乘与冲激函数对冲激函数卷积之间的区别
- 大学物理复习笔记——静电场中的导体和电介质
- as转html5工具,Flash资源转换工具
- Xn数列(矩阵乘法+快速幂+慢速乘法)
- compose的TextField等组件请求焦点和释放焦点
- JetBrains IntelliJ IDEA 2022 for Mac(最好用的Java开发工具)
- 人工智能相关数据集分享(一)
热门文章
- Codeforces Round #246 (Div. 2) D. Prefixes and Suffixe 后缀数组
- LintCode-7-二叉树的序列化和反序列化
- IOS开发-UIView之动画效果的实现方法(合集)
- python数据类型--数字、字符串
- Linux 套接字编程中的 5 个隐患
- 虚拟机下安装ubuntu
- 砂.随笔.九.12.14公司停电,冒雨修爪爪
- 【PPT分享】阿里巴巴定向广告之新一代Rank技术.pdf(附下载链接)
- 百度知识图谱技术及应用
- 【论文复现】Character-level Convolutional Networks for Text Classification