在源码中编译自己的
Android
project
Daniel Wood 08/27/2010
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
在启动的模拟器中,将看到你的工程。如下图:
- 大小: 55.4 KB
- 大小: 155.6 KB
分享到:
相关推荐
最近2013-11-29(Nov 29, 2013)更新的Android ZXing 2.3.0 release源码及编译后的core-2.3.0.jar和android-integration-2.3.0.jar打包亲测可用,如大家有兴趣自己编译的话请参考下面的教程。 下面我写的教程修改自...
昨天想下载android4.0.4的源代码,结果一执行repo sync就遇到了下面的错误: Exception in thread Thread-2: Traceback (most recent call last): File "/usr/lib/python2.6/threading.py", line 532, in __...
Android版VoIP客户端App源代码,用以实现经典的语音及视频通话功能,开发环境的配置下载下来SipDroid源代码后,不能直接导入到eclipse中,否则是无法使用和编译的。 首先需要通过command line参照工程目录下的...
ijkplayer编译好的源码直接导入Android stdio2.2中可以直接运行,不能运行,可以加群
如果编译出错,请修改项目根目录下的 project.properties 文件。 推荐使用Android 4.0 以上版本的SDK: target=android-14 一、工程目录结构 根目录 >├ source >├ LICENCE.txt >├ README.md 目录简要解释 根...
我们可以编译自己的Android C / C ++代码以在Android设备上运行。 当然,感谢CLion团队,所有这些都是基于CLion的。 自动找到模块的路径。 自动解析模块的android.mk或android.bp文件。 自动解决模块依赖性。 ...
编译完的Sipdroid源码,可以直接运行
[开源]eoe的Android客户端源码 本项目采用 GPL 授权协议,欢迎大家在这个基础上进行改进,并与大家分享。 如您感觉本项目中有不妥之处或者有不爽的地方,欢迎提交问题或更改方案,项目小组会 及时的对您提交的修改...
欢迎大家推荐好的Android开源项目,请Star、Fork或在 中告诉我 :) 目前包括: 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar等等 包括依赖注入框架、图片缓存、网络...
1 使用NDK中的工具将源c/c++代码编译为库的文件形式,具体的环境配置有总结。进入工程文件所在目录,命令为:$ $NDK/ndk-build ,可以看到生成文件.so的形式 2 仍然在此目录下,下面的编译需要产生build.xml文件,...
经过老外修改后的下载下来再经过自己修改为供NDK编译的openssl源码,自己的JNI程序放在myApp文件夹即可编译为动态库给java调用,当然可以根据自己的需求修改
编译Android系统APK 1、设置环境 export ANDROID_HOME=/home/administrator/soft/android export PATH=$PATH:$ANDROID_HOME/out/host/linux-x86/bin export ANDROID_PRODUCT_OUT=$ANDROID_HOME/out/target/product...
解压后有2个文件夹testService和h264_project,前者是一个android工程,后者是一个在linux下编译android中能用的ffmpeg工程,其中有ffmpeg源代码(该ffmpeg版本为0.7.15),H264Android.c源码和编译好的ffmpeg.so,H264...
另外,书中每份源代码也给出与光盘源文件的对应关系,方便读者查找。 本光盘codes目录下有19个文件夹,其内容和含义说明如下: (1) 01~19个文件夹名对应于《疯狂Android讲义》中的章名, 即第2章所使用的代码...
如果编译出错,请修改项目根目录下的 project.properties 文件。 推荐使用Android 4.0 以上版本的SDK: target=android-14 一、工程目录结构 根目录 >├ source >├ LICENCE.txt >├ README.md 目录简要解释 根...
Project用来在Android上面编译dex文件。 安装 示例 // class文件夹,或者单个class文件,或者jar String classFolder = "/storage/emulated/0/Android/data/com.xiaoyv.myapplication/files/build/"; // 转换命令 ...
将会支持 Google 可能发布的手机操作系统或者应用软件,共同开发名为 Android 的开放源代码的移动 系 统。 谷歌早在 2002 年就进入了移动领域,可是由于目前的手机操作系统企业和手机企业相对封闭,提高了 行业的...
12、需要关注PluginTest工程的ant.properties文件和project.properties文件以及custom_rules.xml文件,插件使用宿主程序共享库,以及共享库R引用,和编译时排除的功能,都在这3个配置文件中体现 暂不支持的...
可以先通过搭建好的Eclipse开发环境创建一个未编译的Android工程,记的一定要将Eclipse中Project菜单下的Build Automatically选项前面的对勾去掉后再去创建工程。创建好未编译的工程后,在命令行中输入如下命令: d:...
为了在 Eclipse 中创建应用程序,选择 File > New > Android project,这将启动 New Android Project 向导。 图 5. New Android project 向导 接下来,创建一个简单的应用程序,该应用程序有一个活动,并且在 ...