初入Android--环境搭建
Android SDK
可以下载adt-bundle:包含了装好插件的eclipse和android sdk。下载好后,首先设置ANDROID_HOME环境变量:ANDROID_HOME=/home/ronry/softs/android/sdk,并将/home/ronry/softs/android/sdk/platform-tools和/home/ronry/softs/android/sdk/tools加入到PATH中。
如果使用的是64位版本的Linux系统,则可能还需要安装ia32-libs软件包。要确认是否需要安装这个软件包,可以运行adb命令。如果系统提示无法找到adb命令(虽然在 platformtools目录下确实存在该命令),这表示当前版本的adb命令及一些其他工具如果不安装i a32-l i b s软件包很可能就无法运行。安装ia32-libs软件包的命令是:
sudo apt-get install ia32-libs
SDK build target
在构建任何Android应用或者创建一个来尝试构建Android应用的项目之前,都必须首先安装一个或多个build target。为此,需要使用SDK和Android虚拟设备(AVD)管理器。该管理器有助于安装SDK中的软件包,通过这些软件包SDK可以支持多个版本的Android操作系统和不同级别的API。
有两个方法可以打开AVD:
- 直接命令行执行android命令
- eclipse中打开
最简单的方式是直接安装AVD中的所有软件包,但这会耗费大量的时间和硬盘空间,所以可选的方式是安装最新版本的软件包和几个比较经典版本的软件包,对于每个版本的包,最好至少安装以下几项目: - SDK Platform
- Google API (如果有)
- 系统镜像(System Image)
至于示例包和源代码则可是情况安装。
另外,还可以视需要安装tools和extras选项下的包。
还有一种快捷的安装sdk build target的方式是使用Maven Android SDK Deployer(未尝试)
cd maven-android-sdk-deployer-master
默认运行mvn clean install会安装全部平台的apis,android 1.5, android 2,.....
所以如果你没有完全下载这些apis会报错。
如果需要指定版本,可以加-P参数,下面的命令只会安装android 4.0
mvn clean install -P 4.0
eclipse及插件安装
如果是独立的eclipse需要确保安装如下插件:
+ ADT: android develper tools
+ m2e:集成maven的插件
+ m2e android connector:适配adt和m2e插件的插件,主页http://rgladwell.github.io/m2e-android/,安装方式:
+ 直接在eclipse marketplace搜索m2e android安装
+ Preferences -> Maven -> Discovery and click "Open Catalog".然后选择 m2e android connector(未试)
Maven
需要安装maven3,因为使用maven管理和构建android通常需要用到android-maven-plugin,而改插件的高版本要求使用maven3。
一个简单的android的pom文件可能如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ronrytest</groupId>
<artifactId>helloandroid</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>hello android</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>support-v4</artifactId>
<version>r7</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.8.0</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<run>
<debug>true</debug>
</run>
<sdk>
<path>${env.ANDROID_HOME}</path>
<!--当前项目的sdk版本-->
<platform>16</platform>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
</plugin>
</plugins>
</build>
</project>
当将maven项目导入到eclipse时,可能遇到如下错误:
Plugin execution not covered by lifecycle configuration:
com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.8.2:consume-aar (execution:
default-consume-aar, phase: compile)
解决办法是:
- 打开 'Problems'视图: 'Window' -> 'Show View' -> 'Problems'
- 右键点击报错的地方,选择'Quick Fix'
- 点击选择'Permanently mark goal generate in pom.xml as ignored in Eclipse build' -> 'Finish' -> 'OK'
- 修改完后,右键项目—> Maven —> Update Project
网上也还有另外一种解决方案,但是我试了没成功,就是配置另外一个plugin:
<!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<versionRange>[3.8.1,)</versionRange>
<goals>
<goal>consume-aar</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
也有人说是没有安装m2e android connector插件或者插件安装错误导致的问题。但是我自己试的时候插件应该是已经安装上了的,也有待考证。
初入Android--环境搭建的更多相关文章
- Android 环境搭建
一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/ Oracl ...
- 20145308刘昊阳 《Java程序设计》实验四 Android环境搭建 实验报告
20145308刘昊阳 <Java程序设计>实验四 Android环境搭建 实验报告 实验名称 Android环境搭建 实验内容 搭建Android环境 运行Android 修改代码,能输 ...
- android环境搭建——工欲善其事,必先利其器 2
前两天鼓捣android, 搭建环境,不想麻烦就用了 adt-bundle-windows-x86-20140702. rar , 起个模拟器哇塞,太爽了. 出去转一圈唠会回来正好启动成功!有个网友 ...
- 第一课 android环境搭建
android环境搭建需要的工具: 1.JDK 2.eclipse 3.SDK 4.ADT
- Android环境搭建的步骤
Android 环境搭建步骤 这里简单介绍一下学习Android之后如何搭建环境的问题 一. 在搭建环境之前,首先你要先下载Java JDK(根据系统位数选择下载是64位或32位的),Eclip ...
- golang开发android环境搭建_window
golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go: go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...
- paip.android环境搭建与开发事例
paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax , EMAIL:1466519819 ...
- Android环境搭建及Ionic打包(win7)
本人刚刚接触Ionic3,初步进行打包操作,将其遇到的问题和整个流程记录下载,方便以后的巩固,也为小白们提供一个参考.因本人没有appleヽ(ー_ー)ノ,而且使用的是WIN7系统,所以暂时只提供了WI ...
- React-native Android环境搭建
基础安装 安装Homebrew Homebrew是Mac OSX的包管理器,我们需要通过Homebrew安装开发React Native的相关软件包. 如果不知道怎样安装Homebrew可以点这里:官 ...
- Android基础学习:Android环境搭建
在3年前,自学过Android的一些基础知识,但是那个时候Linux等其他的知识结构比较薄弱,理解得不是很深刻,后来因项目变动的原因,没有再搞Android相关的东西了.时过境迁,还是因为项目变动,重 ...
随机推荐
- android linearlayout imageview置顶摆放
在练习android时,想在Linearlayout内放一图片,使其图片置顶,预期效果是这样的: 但xml代码imageview写成这样后, <ImageView android:layout_ ...
- HNU13028Attacking rooks (二分匹配,一行变多行,一列变多列)
Attacking rooks Time Limit: 20000ms, Special Time Limit:50000ms, Memory Limit:65536KB Total submit u ...
- switch case ,while, do while,enum
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C_编辑 ...
- splice()函数的使用方法
splice()函数的使用方法,这是一个拗口的函数.用起来有点麻烦.图3所看到的是splice函数的功能.将一个列表插入到还有一个列表其中.list容器类定义了splice()函数的3个版本号: sp ...
- set--常见成员函数及基本用法
c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器. set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. ...
- ListView判断滑动底部
通过实现OnScrollListener这个接口,然后复写 public abstract void onScroll (AbsListView view, int firstVisibleItem, ...
- 微信红包API接口(PHP)
根据微信高级红包接口,开发PHP版本的API接口,现在进行主要代码分析. 红包接口调用请求代码,所有请求参数为必填参数与文档对应: class Wxapi { private $app_id = 'w ...
- php 父类子类构造函数注意事项
网上流传的2点: PHP的构造函数继承必须满足以下条件: 当父类有构造函数的声明时,子类也必须有声明,否则会出错. 在执行父类的构造函数时,必须在子类中引用parent关键字. 第1点不需要. 第二个 ...
- A shallow summary of oracle log miner
Sometimes, we should recover one or more rows data which is deleted carelessly by users, but it is n ...
- 一天一个类,一点也不累 之 LinkedList
我们的口号是,一天一个类,一点也不累 .. 今天要讲的是---LinkedList 首先,还是看看他的组织结构 Class LinkedList<E> java.lang.Object j ...