开发android开发环境配置平台上的应用需要什么环境,最好具体点

论文发表、论文指导
周一至周五
9:00&22:00
基于Android平台软件开发方法的研究与应用
  摘要:基于Android平台软件的开发方法中最重要的就是Android应用层开发方法,本文针对这方面开发方法的特点、关键问题以及如何搭建开发环境进行了分析,希望能够为Android软件开发提供一些指导意见。 中国论文网 http://www.xzbu.com/8/view-4078752.htm  关键词:Android;平台;开发方法;   中图分类号:TP311.52 文献标识码:A 文章编号: (2013) 01-0244-02   1 引言   随着社会的发展,智能手机越来越多,应用越来越广泛。而应用程序正是Android手机获得用户的关键。对于Android应用程序来说,其主要都是基于Android Framework于上层开发来实现的,使用的编程语言为Java,因此我们对Android应用层开发方法进行分析是非常必要的,基于此,本文关于这方面的研究具有非常强的实践指导意义。   2 Android应用程序开发   在Android应用程序开发的过程中,Android Framework为开发人员提供了相当多的API,利用Android特有类库以及java通用类库,软件开发人员能够开发出各种应用程序。具体来看,Android应用程序在利用java进行编写之后,将大包围apk文件,而每个apk文件都可以作为一个完整应用程序,其包括编译好的程序以及各种描述性文件以及各种资源。在运行的过程中,Android应用程序的特点可以总结为以下几个方面:   2.1 在默认的状况下,每一个程序都会运行于linux进程之中,在应用程序需要执行代码的时候,Android则会启动一个进程,直到系统资源不足或者代码要求退出的时候,Android才将这一进程杀死。   2.2 对于每一个进程来说,都将在一个独立的Dalvik Virtual Machine中运行。   2.3 默认状况下,每个应用程序都将被赋予一个Linux User ID,通过和Linux的权限设置进行结合,则可以确保只有此程序能够对属于它的问卷进行访问,当然,也可以利用一些方法使程序暴露给其他程序。   2.4 在一些比较特殊的情况下,我们可以使两个程序对一个Linux user ID进行共用,在这个时候,应用程序文件是可以互相访问的。为起到节约系统资源的目的,Android会对这两个应用程序进行合并,使其处于一个进程之中,对一个VM进行共享。   以上特点和我们平常进行Pc软件开发有很大的区别,因此在开发Android应用程序的时候要对其有足够的重视。   3 应用软件开发过程中的关键问题分析   3.1 权限获取问题。在Android安全措施中,默认的情况下,应用程序是没权限对其他程序、用户以及操作系统进行操作的,这包括对用户的隐私数据进行读/写,网络访问以及对设备的活动进行保持等。因此,应用程序进程属于安全的黑盒子,不会对其他应用程序造成干扰,除了对其进行声明权限。在权限命名及获取的过程中,需要注意:   首先,权限命名,在Android应用程序中,如果缺乏和其他相关联的权限,则其不可以对用户体验或者设备数据进行任何有害的操作。如果应用程序有这方面的需求,则可以在AndroidManifest.xml文件中添加标签对权限进行声明。   其次,AndroidManifest.xml文件中支持权限,通过这一文件中进行权限设置,可以对应用程序或者组件的访问进行限制,因此在我们需要对某一组件进行访问的时候,只要在这一文件中对相关权限进行声明就可以了。具体来说,权限有Activity权限、BroadcastReceiver权限。   3.2 构建Android用户界面的问题。在Android用户界面生成的过程中,主要可以分为直接使用代码生成以及XML配置生成这两种方式,以MVC原则来看的话,UI要做到和程序逻辑分离,基于此,我们最好在XML中对UI界面进行定义,这样一个程序将更容易从一个界面切换到另一个界面中。   对于Android应用程序来说,其最基本的功能为Activity,但其却并不主动在屏幕上显示。因此我们要想使屏幕对Activity进行显示,必须要对其UI进行设计,这就要利用Android平台基本用户界面对元素进行表达,比如VIEW等。在对布局对象问题进行解决的时候,主要的做法有线性布局、绝对布局、相对布局以及表格布局这几种。   3.3 资源获取及使用问题。所谓资源,指的是外部文件,它会被代码使用并于编译的过程中编入到应用程序之中,对于Android来说,其支持的资源文件有很多类型,包括XML、JPEG以及PNG文件,在程序运行的过程中,这些资源将被解析,比如,对于XML文件来说,其根据不同的描述又可以分为很多不同的格式。   在Android资源系统中,可以对应用程序非代码相关内容进行跟踪,因此我们程序的开发者是能够利用资源类对应用程序资源进行访问的。一般来说,资源实例是与应用程序联系在一起的,我们可以经过Context.getResources()进行获取。在编译应用程序资源的过程中,资源会编译至应用程序二进制代码中。为对某个资源进行使用,开发者需要将其放至相应代码的目录中,进而对其进行编译。   4 搭建Android开发环境   Android应用层软件在开发的过程中使用的语言为java,Eclipse属于当前最流行的开发工具之一,具体来看,这一工具的开发效率非常高,具有开放性,而且使用起来比较方便,满足OHA主旨。此外,为了在开发Android应用程序的时候更为方便,OHA还为Eclipse专门开发了Android插件,对于我们的工作非常有帮助。在对Android开发环境进行搭建的过程中,主要的工作可以分为以下几个步骤:对java运行环境进行搭建、安装Eclipse以及插件ADT、安装AnroidSDK,对AndroidAVD进行配置。   首先,由于Eclipse是使用java语言进行编写的,因此在对Eclipse进行安装之前要确保系统已经完成了java环境的建设,否则将导致此工具无法启动。具体来看,这又包括安装最新JDK,对java环境变量进行设置两个方面的内容。   其次,对Eclipse进行安装,具体的工作中,我们可以先于官网进行软件的下载,之后则是对这一软件进行安装,最后是对其开发插件ADK进行安装。   第三,AndroidSDK的安装,AndroidSDK主要是对Android软件进行开发过程中需要的函数库资源的集合包,属于我们对Android程序进行开发过程中最重要的组件之一。在完成这一组件的下载工作之后,还要对AndroidSDK tool环境变量进行设置,再之后则是进行Android SDK和Eclipse的链接。   第四,进行Android AVD的配置,AVD属于经过配置的模拟器,对于AVD来说,其必须要进行target的制订,在SDK1.5中,当前的target类型主要包括platform以及add—on正两种,前者属于Android平台target,而后者则属于Android插件target。   5 结语   本文对基于Android平台软件开发方法的研究及应用虽然具有一定的实践指导作用,但是限于篇幅,仅对一些比较表面的内容进行了分析,更深层次的内容尚没有涉及,因此还希望各位同行能够加强这方面的学习和探索,进而为用户开发出更多、更好的应用软件。   参考文献:   [1]赵士田.基于Android平台的运动辅助软件的设计与实现[D].山东大学,2011.   [2]胡锐.基于Android系统智能手机的游戏移植开发[D].华南理工大学,2011.   [3]邵艳洁.Android操作系统移植及应用研究[D].湖南大学,2011.   [4]王博.基于Android的MPDP实现方式的研究与应用[D].北京邮电大学,2012.
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。博客分类:
本文章已收录于:
个人认为下面这篇转载的文章写的很清晰很不错. 注意Android平台上的JNI机制使用包括Java代码中调用Native模块以及Native代码中调用Java模块.
众所周知,OPhone平台上的应用开发主要基于Java语言,但平台完全支持且提供了一定的Native开发能力(主要是C/C++),使得开发者可以借助JNI更深入的实现创意。本文主要介绍OPhone平台的JNI机制和Native模块开发与发布的方法。
Java Native
Interface(JNI)是Java提供的一个很重要的特性。它使得用诸如C/C++等语言编写的代码可以与运行于Java虚拟机(JVM)中的
Java代码集成。有些时候,Java并不能满足你的全部开发需求,比如你希望提高某些关键模块的效率,或者你必须使用某个以C/C++等Native语
言编写的程序库;此时,JNI就能满足你在Java代码中访问这些Native模块的需求。JNI的出现使得开发者既可以利用Java语言跨平台、类库丰
富、开发便捷等特点,又可以利用Native语言的高效。
图1 JNI与JVM的关系
实际上,JNI是JVM实现中的一部分,因此Native语言和Java代码都运行在JVM的宿主环境(Host
Environment),正如图1所示。此外,JNI是一个双向的接口:开发者不仅可以通过JNI在Java代码中访问Native模块,还可以在
Native代码中嵌入一个JVM,并通过JNI访问运行于其中的Java模块。可见,JNI担任了一个桥梁的角色,它将JVM与Native模块联系起
来,从而实现了Java代码与Native代码的互访。在OPhone上使用Java虚拟机是为嵌入式设备特别优化的Dalvik虚拟机。每启动一个应
用,系统会建立一个新的进程运行一个Dalvik虚拟机,因此各应用实际上是运行在各自的VM中的。Dalvik
VM对JNI的规范支持的较全面,对于从JDK 1.2到JDK 1.6补充的增强功能也基本都能支持。
开发者在使用JNI之前需要充分了解其优缺点,以便合理选择技术方案实现目标。JNI的优点前面已经讲过,这里不再重复,其缺点也
是显而易见的:由于Native模块的使用,Java代码会丧失其原有的跨平台性和类型安全等特性。此外,在JNI应用中,Java代码与Native代
码运行于同一个进程空间内;对于跨进程甚至跨宿主环境的Java与Native间通信的需求,可以考虑采用socket、Web
Service等IPC通信机制来实现。
在OPhone开发中使用JNI
正如我们在上一节所述,JNI是一个双向的接口,所以交互的类型可以分为在Java代码中调用Native模块和在Native代码中调用Java模块两种。下面,我们就使用一个Hello-JNI的示例来分别对这两种交互方式的开发要点加以说明。
Java调用Native模块
Hello-JNI这个示例的结构很简单:首先我们使用Eclipse新建一个OPhone应用的Java工程,并添加一个
com.example.hellojni.HelloJni的类。这个类实际上是一个Activity,稍后我们会创建一个TextView,并显示一
些文字在上面。
要在Java代码中使用Native模块,必须先对Native函数进行声明。在我们的例子中,打开HelloJni.java文件,可以看到如下的声明:
stringFromJNI();
/* A native method that is implemented by the
* 'hello-jni' native library, which is packaged
* with this application.
public native String
stringFromJNI();
从上述声明中我们可以知道,这个stringFromJNI()函数就是要在Java代码中调用的Native函数。接下来我们要创建一个hello-jni.c的C文件,内容很简单,只有如下一个函数:
#include &string.h&
#include &jni.h&
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz ) {
(*env)-&NewStringUTF(env,
"Hello from JNI !"
#include &string.h&
#include &jni.h&
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz ) {
return (*env)-&NewStringUTF(env, "Hello from JNI !");
从函数名可以看出,这个Native函数对应的正是我们在com.example.hellojni.HelloJni这个中声明的Native函数String stringFromJNI()的具体实现。
从上面Native函数的命名上我们可以了解到JNI函数的命名规则: Java代码中的函数声明需要添加native
字;Native的对应函数名要以“Java_”开头,后面依次跟上Java的“package名”、“class名”、“函数名”,中间以下划线“_”
分割,在package名中的“.”也要改为“_”。此外,关于函数的参数和返回值也有相应的规则。对于Java中的基本类型如int
等,在Native端都有相对应的类型来表示,如jint
等;其他的对象类型则统统由jobject
来表示(String
是个例外,由于其使用广泛,故在Native代码中有jstring
这个类型来表示,正如在上例中返回值String
对应到Native代码中的返回值jstring
)。而对于Java中的数组,在Native中由jarray
对应,具体到基本类型和一般对象类型的数组则有jintArray
等和jobjectArray
分别对应(String
数组在这里没有例外,同样用jobjectArray
表示)。还有一点需要注意的是,在JNI的Native函数中,其前两个参数JNIEnv
*和jobject
是必需的——前者是一个JNIEnv
结构体的指针,这个结构体中定义了很多JNI的接口函数指针,使开发者可以使用JNI所定义的接口功能;后者指代的是调用这个JNI函数的Java对象,有点类似于C++中的this
指针。在上述两个参数之后,还需要根据Java端的函数声明依次对应添加参数。在上例中,Java中声明的JNI函数没有参数,则Native的对应函数只有类型为JNIEnv
*和jobject
的两个参数。
当然,要使用JNI函数,还需要先加载Native代码编译出来的动态库文件(在Windows上是.dll,在Linux上则为.so)。这个动作是通过如下语句完成的:
System.loadLibrary("hello-jni"
System.loadLibrary("hello-jni");
注意这里调用的共享库名遵循Linux对库文件的命名惯例,因为OPhone的核心实际上是Linux系统——上例中,实际加载的库文件应为
“libhello-jni.so”,在引用时遵循命名惯例,不带“lib”前缀和“.so”的扩展名。对于没有按照上述惯例命名的Native库,在加
载时仍需要写成完整的文件名。
JNI函数的使用方法和普通Java函数一样。在本例中,调用代码如下:
TextView tv =
tv.setText( stringFromJNI() );
setContentView(tv);
TextView tv = new TextView(this);
tv.setText( stringFromJNI() );
setContentView(tv);
就可以在TextView中显示出来自于Native函数的字符串。怎么样,是不是很简单呢?
Native调用Java模块
从OPhone的系统架构来看,JVM和Native系统库位于内核之上,构成OPhone
Runtime;更多的系统功能则是通过在其上的Application Framework以Java
API的形式提供的。因此,如果希望在Native库中调用某些系统功能,就需要通过JNI来访问Application
Framework提供的API。
JNI规范定义了一系列在Native代码中访问Java对象及其成员与方法的API。下面我们还是通过示例来具体讲解。首先,新建一个SayHello
的类,代码如下:
com.example.
SayHello {
String sayHelloFromJava(String nativeMsg) {
String str = nativeMsg + " But shown in Java!"
package com.example.
public class SayHello {
public String sayHelloFromJava(String nativeMsg) {
String str = nativeMsg + " But shown in Java!";
接下来要实现的就是在Native代码中调用这个SayHello
类中的sayHelloFromJava方法。
一般来说,要在Native代码中访问Java对象,有如下几个步骤:
得到该Java对象的类定义。JNI定义了jclass
这个类型来表示Java的类的定义,并提供了FindClass接口,根据类的完整的包路径即可得到其jclass
根据jclass
创建相应的对象实体,即jobject
。在Java中,创建一个新对象只需要使用new
关键字即可,但在Native代码中创建一个对象则需要两步:首先通过JNI接口GetMethodID得到该类的构造函数,然后利用NewObject接口构造出该类的一个实例对象。
访问jobject
中的成员变量或方法。访问对象的方法是先得到方法的Method ID,然后使用Call&Type
接口调用,这里Type对应相应方法的返回值——返回值为基本类型的都有相对应的接口,如CallIntMethod;其他的返回值(包括String)
则为CallObjectMethod。可以看出,创建对象实质上是调用对象的一个特殊方法,即构造函数。访问成员变量的步骤一样:首先
GetFieldID得到成员变量的ID,然后Get/Set&Type
&Field读/写变量值。
上面概要介绍了从Native代码中访问Java对象的过程,下面我们结合示例来具体看一下。如下是调用sayHelloFromJava方法的Native代码:
jstring helloFromJava( JNIEnv* env ) {
jstring str = NULL;
jclass clz = (*env)-&FindClass(env, "com/example/hellojni/SayHello"
jmethodID ctor = (*env)-&GetMethodID(env, clz, "&init&"
jobject obj = (*env)-&NewObject(env, clz, ctor);
jmethodID mid = (*env)-&GetMethodID(env, clz, "sayHelloFromJava"
"(Ljava/lang/S)Ljava/lang/S"
jstring jmsg = (*env)-&NewStringUTF(env, "I'm born in native."
str = (*env)-&CallObjectMethod(env, obj, mid, jmsg);
jstring helloFromJava( JNIEnv* env ) {
jstring str = NULL;
jclass clz = (*env)-&FindClass(env, "com/example/hellojni/SayHello");
jmethodID ctor = (*env)-&GetMethodID(env, clz, "&init&", "()V");
jobject obj = (*env)-&NewObject(env, clz, ctor);
jmethodID mid = (*env)-&GetMethodID(env, clz, "sayHelloFromJava", "(Ljava/lang/S)Ljava/lang/S");
if (mid) {
jstring jmsg = (*env)-&NewStringUTF(env, "I'm born in native.");
str = (*env)-&CallObjectMethod(env, obj, mid, jmsg);
可以看到,上述代码和前面讲到的步骤完全相符。这里提一下编程时要注意的要点:1、FindClass要写明Java类的完整包路径,并将
“.”以“/”替换;2、GetMethodID的第三个参数是方法名(对于构造函数一律用“&init&”表示),第四个参数是方法的“签
名”,需要用一个字符串序列表示方法的参数(依声明顺序)和返回值信息。由于篇幅所限,这里不再具体说明如何根据方法的声明构造相应的“签名”,请参考
JNI的相关文档。
关于上面谈到的步骤再补充说明一下:在JNI规范中,如上这种使用NewObject创建的对象实例被称为“Local
Reference”,它仅在创建它的Native代码作用域内有效,因此应避免在作用域外使用该实例及任何指向它的指针。如果希望创建的对象实例在作用
域外也能使用,则需要使用NewGlobalRef接口将其提升为“Global Reference”——需要注意的是,当Global
Reference不再使用后,需要显式的释放,以便通知JVM进行垃圾收集。
Native模块的编译与发布
通过前面的介绍,我们已经大致了解了在OPhone的应用开发中使用JNI的方法。那么,开发者如何编译出能在OPhone上使用的Native模块呢?编译出的Native模块又如何像APK文件那样分发、安装呢?
Google于2009年6月底发布了Android
NDK的第一个版本,为广大开发者提供了编译用于Android应用的Native模块的能力,以及将Native模块随Java应用打包为APK文件,
以便分发和安装的整套解决方案。NDK的全称是Native Development
Toolkit,即原生应用开发包。由于OPhone平台也基于Android,因此使用Android
NDK编译的原生应用或组件完全可以用于OPhone。需要注意的是,Google声称此次发布的NDK仅兼容于Android
1.5及以后的版本,由于OPhone 1.0平台基于Android 1.5之前的版本,虽然不排除使用该NDK开发的原生应用或组件在OPhone
1.0平台上正常运行的可能性,但建议开发者仅在OPhone 1.5及以上的平台使用。
最新版本的NDK可以在
下载。NDK提供了适用于Windows、Linux和MAC OS X的版本,开发者可以根据自己的操作系统下载相应的版本。本文仅使用基于Linux的NDK版本做介绍和演示。
NDK的安装很简单:解压到某个路径下即可,之后可以看到若干目录。其中docs目录中包含了比较详细的文档,可供开发者参考,在NDK根目录
下的README.TXT也对个别重要文档进行了介绍;build目录则包含了用于Android设备的交叉编译器和相关工具,以及一组系统头文件和系统
库,其中包括libc、libm、libz、liblog(用于Android设备log输出)、JNI接口及一个C++标准库的子集(所谓“子集”是指
Android对C++支持有限,如不支持Exception及STL等);apps目录是用于应用开发的目录,out目录则用于编译中间结果的存储。接
下来,我们就用前面的例子简单讲解一下NDK的使用。
进入&ndk&/apps目录,我们可以看到一些示例应用,以hello-jni为例:在hello-jni目录中有一个
Application.mk文件和一个project文件夹,project文件夹中则是一个OPhone
Java应用所有的工程文件,其中jni目录就是Native代码放置的位置。这里Application.mk主要用于告诉编译器应用所需要用到的
Native模块有什么,对于一般开发在示例提供的文件的基础上进行修改即可;如果需要了解更多,可参考&ndk&/docs
/APPLICATION-MK.txt。接下来,我们将示例文件与代码如图2放置到相应的位置:
图2 Hello-JNI示例的代码结构
可以看到,和Java应用一样,Native模块也需要使用Android.mk文件设置编译选项和参数,但内容有较大不同。对于Native模块而言,一般需要了解如下几类标签:
LOCAL_MODULE:定义了在整个编译环境中的各个模块,
其名字应当是唯一的。此外,这里设置的模块名称还将作为编译出来的文件名:对于原生可执行文件,文件名即为模块名称;对于静态/动态库文件,文件名为
lib+模块名称。例如hello-jni的模块名称为“hello-jni”,则编译出来的动态库就是libhello-jni.so。
LOCAL_SRC_FILES:这里要列出所有需要编译的C/C++源文件,以空格或制表符分隔;如需换行,可放置“\”符号在行尾,这和GNU Makefile的规则是一致的。
LOCAL_CFLAGS:定义gcc编译时的CFLAGS参数,与GNU Makefile的规则一致。比如,用-I参数可指定编译所需引用的某个路径下的头文件。
LOCAL_C_INCLUDES:指定自定义的头文件路径。
LOCAL_SHARED_LIBRARIES:定义链接时所需要的共享库文件。这里要链接的共享库并不限于NDK编译环境中定义的所有模块。如果需要引用其他的库文件,也可在此处指定。
LOCAL_STATIC_LIBRARIES:和上个标签类似,指定需要链接的静态库文件。需要注意的是这个选项只有在编译动态库的时候才有意义。
LOCAL_LDLIBS:定义链接时需要引入的系统库。使用时需要加-l前缀,例如-lz指的是在加载时链接libz这个系统库。libc、libm和libstdc++是编译系统默认会链接的,无需在此标签中指定。
欲了解更多关于标签类型及各类标签的信息,可参考&ndk&/docs/ANDROID-MK.txt文件,其中详细描述了Android.mk中各个标签的含义与用法。如下给出的就是我们的示例所用的Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE
LOCAL_C_INCLUDES :=
$(LOCAL_PATH)/include
LOCAL_SRC_FILES
src/call_java.c \
src/hello-jni.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE
LOCAL_C_INCLUDES :=
$(LOCAL_PATH)/include
LOCAL_SRC_FILES
src/call_java.c \
src/hello-jni.c
include $(BUILD_SHARED_LIBRARY)
写好了代码和Makefile,接下来就是编译了。使用NDK进行编译也很简单:首先从命令行进入&ndk&目录,执
行./build/host-setup.sh,当打印出“Host setup
complete.”的文字时,编译环境的设置就完成了。这里开发者需要注意的是,如果使用的Linux发行版是Debian或者Ubuntu,需要通过
在&ndk&目录下执行bash build/host-setup.sh,因为上述两个发行版使用的dash
shell与脚本有兼容问题。接下来,输入make
APP=hello-jni,稍等片刻即完成编译,如图3所示。从图中可以看到,在编译完成后,NDK会自动将编译出来的共享库拷贝到Java工程的
libs/armeabi目录下。当编译Java工程的时候,相应的共享库会被一同打包到apk文件中。在应用安装时,被打包在libs/armeabi
目录中的共享库会被自动拷贝到/data/data/com.example.HelloJni/lib/目录;当System.loadLibrary
被调用时,系统就可以在上述目录寻找到所需的库文件libhello-jni.so。如果实际的Java工程不在这里,也可以手动在Java工程下创建
libs/armeabi目录,并将编译出来的so库文件拷贝过去。
图3 使用NDK编译Hello-JNI
最后,将Java工程连带库文件一同编译并在OPhone模拟器中运行,结果如图4所示。
通过上面的介绍,你应该已经对OPhone上的Native开发有了初步了解,或许也已经跃跃欲试了。事实上,尽管Native开发在
OPhone上不具有Java语言的类型安全、兼容性好、易于调试等特性,也无法直接享受平台提供的丰富的API,但JNI还是为我们提供了更多的选择,
使我们可以利用原生应用的优势来做对性能要求高的操作,也可以利用或移植C/C++领域现有的众多功能强大的类库或应用,为开发者提供了充分的施展空间。
这就是OPhone的魅力!
图4 Hello-JNI在OPhone模拟器上的运行结果
Sheng Liang. Java Native Interface: Programmer's Guide and Specification.
Sun Microsystems. Java Native Interface Specification v1.5.
浏览 45123
laiyangdeli
浏览: 1054777 次
来自: 南京
view.setOnTouchListenerview是什么
Sorry~~
When I build &call ...
借地请教个问题:fatal: open /dev/null o ...
多谢楼主分享,感激不尽
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'- 最好的系统光盘下载网站!
当前位置: >
> 详细页面
Linux如何使用Eclipse搭建Android开发环境
来源:系统之家
作者:zhijie
  在大家族中,Android无疑是最耀眼的一个。Android的开发也是在Linux系统中进行的,而在Linux系统中,Eclipse是一个常用的Android开发工具,使用使用Eclipse开发Android,要先安装好环境。本文就来介绍一下Linux如何使用Eclipse搭建Android开发环境。
  第一步:安装Java运行环境JDK(没这个Eclipse运行不起来),在这里我安装的是jdk-8u51-windows-i586,安装时按照提示,直接点击下一步,直到完成。
  第二步:进行验证自己是否把java的运行环境安装正确,需要打开cmd命令,在里面输入&java -version&,如下图所示
  第三步:安装android的开发环境:Eclipse,我这边有一个压缩包:eclipse-SDK-3.7.1-win32,直接解压就能用,但是前提是首先安装Java运行环境JDK,否则会弹出一个警告框,主界面如下图:
栏目热门教程
人气教程排行
热门系统下载
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1}

我要回帖

更多关于 android开发环境配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信