Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2476180
  • 博文数量: 293
  • 博客积分: 2660
  • 博客等级: 少校
  • 技术积分: 3632
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 17:50
文章分类

全部博文(293)

文章存档

2015年(13)

2014年(58)

2013年(73)

2012年(25)

2011年(30)

2010年(86)

2009年(8)

分类: Android平台

2014-03-15 18:03:56

http://danielwood.iteye.com/blog/763625

1) 将在 Eclipse (当然也可以用记事本编写)中编写好的纯源代码( src+res+AndroidManifest.xml )拷到 Android 源代码文件夹下的 packages/apps 文件夹中,如: /Android/android1.6_r2/packages/apps 。拷过去的文件结构如图(不包括 Android.mk 文件 ):


2) 然后添加 Android.mk 文件,在 Android project 文件夹下,例子中的 Android.mk 文件 内容如下:

Android.mk 
LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := eng

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := HelloWorld     #这个就是你以后生成的apk的名字

include $(BUILD_PACKAGE)
 

 

3) 然后在 /Android/android1.6_r2 目录下在终端输入 make [project name]

例子:

@desktop:~/Android/android-1.6_r2$ make HelloWorld

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=1.6

TARGET_PRODUCT=generic

TARGET_BUILD_VARIANT=eng

TARGET_SIMULATOR=

TARGET_BUILD_TYPE=release

TARGET_ARCH=arm

HOST_ARCH=x86

HOST_OS=linux

HOST_BUILD_TYPE=release

BUILD_ID=DRD35

============================================

build/core/copy_headers.mk:15: 警告:覆盖关于目标“out/target/product/generic/obj/include/libpv/getactualaacconfig.h”的命令

build/core/copy_headers.mk:15: 警告:忽略关于目标“out/target/product/generic/obj/include/libpv/getactualaacconfig.h”的旧命令

target R.java/Manifest.java: HelloWorld (out/target/common/obj/APPS/HelloWorld_intermediates/src/R.stamp)

Warning: AndroidManifest.xml already defines verOz/8

。。。

Install: out/target/product/generic/system/app/HelloWorld.apk

  就是在上面这个目录下生成了 HelloWorld.apk 文件

 

 

4) HelloWorld.apk 装入模拟器。

 

你可以用adb push 命令把HelloWorld.apk装入自己的模拟器,你会在模拟器中看到HelloWorld的应用。

 

在终端执行 make snod ,执行目录为 /Android/android1.6_r2

@desktop:~/Android/android-1.6_r2$ make snod

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=1.6

TARGET_PRODUCT=generic

TARGET_BUILD_VARIANT=eng

TARGET_SIMULATOR=

TARGET_BUILD_TYPE=release

TARGET_ARCH=arm

HOST_ARCH=x86

HOST_OS=linux

HOST_BUILD_TYPE=release

BUILD_ID=DRD35

============================================

build/core/copy_headers.mk:15: 警告:覆盖关于目标“out/target/product/generic/obj/include/libpv/getactualaacconfig.h”的命令

build/core/copy_headers.mk:15: 警告:忽略关于目标“out/target/product/generic/obj/include/libpv/getactualaacconfig.h”的旧命令

make snod: ignoring dependencies

Target system fs image: out/target/product/generic/system.img

 

就是重新在上述路径生成 system.img 文件。 system.img 文件就是对 system 文件夹的打包,这个打包越打包越大!

 

5) 然后启动模拟器。首先要 config 一下(这一步只限于目录下有config文件的,可以执行. config命令。)

@desktop:~/Android/android-1.6_r2$ . config   #注意点号后面的空格

Set PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/smrdn/Android/android-1.6_r2/out/host/linux-x86/bin

Set ANDROID_PRODUCT_OUT=/home/smrdn/Android/android-1.6_r2/out/target/product/generic

然后 emulator 命令启动模拟器:

@desktop:~/Android/android-1.6_r2$ emulator

  在启动的模拟器中,将看到你的工程。如下图:

 

阅读(2771) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~