初入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相关的东西了.时过境迁,还是因为项目变动,重 ...
随机推荐
- 【MongoDB】windows平台搭建Mongo数据库复制集(相似集群)(一)
Replica Sets(复制集)是在mongodDB1.6版本号開始新增的功能.它能够实现故障自己主动切换和自己主动修复功能成员节点的功能,各个DB之间的数据全然一致,大大减少了单点故障的风险. ...
- vim插件配置(一)
vim代码自动显示提示代码插件:AutoComplPop: 代码(普通变量函数) c/c++代码(类的 . , ->, :: 操作符)的自动补全插件: OmniCppComplete
- 【Oracle】nvl与nvl2对比
1.nvl(v1,v2),只要v1为null,即将值变为v2. pay(类型):number; 在执行 nvl(pay_type,'null') 函数的时候会提示无效数字,可能是nvl函数会自动将其转 ...
- 修改字符串 ToCharArray()
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- BZOJ 1093: [ZJOI2007]最大半连通子图( tarjan + dp )
WA了好多次... 先tarjan缩点, 然后题意就是求DAG上的一条最长链. dp(u) = max{dp(v)} + totu, edge(u,v)存在. totu是scc(u)的结点数. 其实就 ...
- Tomcat 常规配置并通过zabbix 监控 jvm状态
一:jdk和tomcat基础 apache有两种方式运行php,一是使用模块,二是使用fastcgi nginx也可以通过fastcgi处理动态请求,也可以转发至tomcat tomcat监控主要是监 ...
- 基于FPGA的DW8051移植(二)
基于上一篇博文继续,本来想换到oc8051,但是还是不甘心,弄了这么久还是没有弄出来,真是打击屎了. 上一篇说3f进入了operation code所以判断是代码错误,后来发现不可以这么判断. 因为地 ...
- Qt对话框_模态/非模态
对话框在Qt GUI应用程序中有着广泛的用途,对话框有模态.非模态两种情况. 对于参数选择的对话框,一般用模态对话框:对于显示或查看某些内容的对话框,一般用非模态对话框. 对话框类QDialog,官方 ...
- smarty 截取字符串,调用php中的方法,foreach循环
1.smarty截取字符串 html中的代码 <{$content|truncate:30:"..."}> ...
- Qt删除指定文件
Qt删除指定文件: QFile fileTemp(filename); fileTemp.remove();