淘先锋技术网

首页 1 2 3 4 5 6 7

     下面咱从 android 开发环境安装开始说吧。

1.   eclipse 安装

下一个 eclipse-java-helios-SR1-win32.zip 解压即可,不过这个东西需要安装 java 开发环境, java 安装也很简单下载一个 jre-6u23-windows-i586.exe 以及 jdk-6u23-windows-i586.exe 点击安装就可以了。有时候在打开 eclipse 时会提示一些错误,其实有可能是没有 jre 文件夹, copy java 安装文件下 jdk 文件中 jre 文件夹复制到 eclipse 的文件夹下即可。

2.   sdk 安装

下载一个 android-sdk_r08-windows.zip 解压即可。一般情况下还需要将其路径加入环境变量中,不加也可以。区别是如果加了,在 eclipse 中新建的 android 的虚拟器会放在该文件夹下,名字为 .android, 如果不加的话,会在 C:/Documents and Settings/ 用户名 下,有些错误的原因就是用户名为汉字。

3.   添加 PATH

     我的电脑 -> 属性 -> 高级 -> 环境变量 -> 新建

     变量名 JRE_HOME 变量值 C:/Program Files/Java/jre6

       变量名 JAVA_JRE_HOME 变量值 C:/Program/Files/Java/jdk1.6.0_13/jre

       变量 JAVA_HOME  变量值 C:/Program Files/Java/jdk1.6.0_23

变量名 CLASSPATH  

变量值

.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;%JRE_HOME%/lib;%JRE_HOME%/lib/rt.jar;%JAVA_JRE_HOME%/lib;%JAVA_JRE_HOME%/lib/rt.jar

变量名   Android_SDK_HOME 变量值 D:/Android/source/android-sdk-windows

4.   eclipse 中的安装 adt 插件

打开 eclipse help->install new software->add  name 任意, location 中为 http://dl-ssl.google.com/android/eclipse ,然后就一路 next ok 了。安装后在主界面上 file->new->project 中有 Android 选项就 ok 了。不过还需要配置 sdk 为位置,在 windows->preferences 中的 android 一项中点击 browse 选择 sdk 放置的位置就可以了。

5.   ndk 安装

下载 cygwinsetup .zip android-ndk-r5-windows.zip 注意了 android-ndk-1.6_r1-windows.zip 下没有 ndk-build ,这个版本的我不知道怎么编译就换了一个高版本的。安装 cygwinsetup ,一路 next 后选择一个比较近的网站下载,在选择下载安装哪些软件时,全部选择 Install 就行了,反正时间不是太长 ( 我下了一个晚上,嘿嘿!! ) 。然后就 ok 了,在桌面上会有一个 cygwin 的图标,打开后,类似一个终端。在这里需要设置 ndk 的路径,因为你以后会用很多次的。采用 vi /etc/skel/.bashrc 在最后添加

NDK=/cygdrive/xxx/xxx

PATH=$PATH:$NDK

export NDK

退出,然后 source /etc/skel/.bashrc 就可以了,你在命令行中输入

$NDK 应该会打开 ndk 所在的文件夹

6.   adb 安装

下载一个 adb 压缩文件,解压,把里面的两个文件 copy windows/system32 下即可。在 start-> 运行 cd c:/ windows/system32 然后就可以使用 adb 了。

7.   如何新建一个 Android 工程

新建一个 android 的工程需要新建一个 avd ,主界面 windws->Android SDK and AVD Manager –>new.

Name avdtest

Target Android 2.1

SD Card 400 Mb

Creat avd 后。会在主界面中罗列出可用的 avd 了。

8.   新建一个 android 的工程

File->new->project->Android->Android project 然后 next

Project name :随意

Build Target  :选择虚拟机

Application name : 随意

下面的几个那么都随意。注意 Min sdk version 可以是 1~9 值,如果是 Android 2.1 的话,最高为 7. Finish 就可以了。然后在主界面上点击 Run 就可以运行了。

9.   Adb 使用

1.   在进入 system32 后运行 adb shell 可以进入正在运行的 Android 的系统终端。

2.   Adb push Android 系统中写入东西,一般第一次会提示 Read-Only filesytem ,这就需要 adb shell 进入终端后,输入

mount –o remount /dev/block/mtdblock /system 就可以了。

        如果出现 out–memory

      cmd 中输入 emulator –avd avdname –partition-size  128 ,注意了,如果提示说没有 emulator 的命令,则需要设置环境变量,上面偷懒了,下面就不行了。

3.   adb pull 可以将 android 系统内的东西输出。

adb pull /data/app/com.examples.apk  d:/android/apk

10. so 库的创建

1.   在刚才新建的工程下,新建一个 folder name jni ,在 jni 下新建两个文件,一个是 Android.mk, 一个是 hello.c

2.   Android.mk 中输入

LOCAL_PATH := $(call my-dir )

include $(CLEAR_VARS)

LOCAL_MODULE    := hello

LOCAL_SRC_FILES := hello.c

LOCAL_LDLIBS := -ldl -llog     # 添加系统的 so 文件

LOCAL_LDLIBS += -L./ -lasound    # 添加本地的 so 文件   -L so 库的路径 , 这个在调用别人的 so 库,并且有头文件的情况下加快开发速度。

include $(BUILD_SHARED_LIBRARY)

3.   hello.c 中添加

  #include <string.h>

#include <jni.h>

#include <dlfcn.h>

#include <android/log.h>

jint Java_ com_hello _hello_hello(JNIEnv* env,jobject this)

{

        return 12;

}

       注意:以上的函数命名为 com.hello 为包名即是新建 android 工程时, package name

        第二个 hello application name ,这个必须要和工程相互对于。第三个 hello 就是你打算在 java 中调用的函数名。修改 src 下的 hello.java

            package com.hello;

 

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

 

public class hello extends Activity {

   

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //setContentView(R.layout.main);

       

        TextView  tv = new TextView(this);

        tv.setText(" hello 调用是否成功 : " + hello());

        setContentView(tv);

    }

    public native int  hello();

    static {

        System.loadLibrary("hello");

    }

}

   如果以上都没有错的话,点击 run 就可以了,然后再 android 虚拟机上会出现 ” hello 调用是否成功 : 12” Ok !有个小窍门,一般人不告诉他就是,没有对文件改动时,注意点击 refrresh ,不行的话注意,点击主界面上的 project->clean