一、Android源码下载与编译
基于VMware 7.0 、ubuntu10.0464位
1、Git工具。
若无则安装 ~$
sudo apt-get installgit-core gnupg
2、Java sdk 。
~$sudo
add-apt-repository ppa:ferramroberto/java
~$sudo apt-get update
~$sudo apt-get install sun-java6-jre sun-java6-plugin
~$sudo apt-get install sun-java6-jdk
另:接受安装条件时,tab键切换焦点。
3、安装其他需要的命令
~$sudo
apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
4、调试工具
~$sudo
apt-get install valgrind
5、安装repo工具
~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
~$ chmod a+x ~/bin/repo
修改文件.bashrc
~$ vi .bashrc
在最后一行加入export PATH=$PATH:~/bin
保存,执行~$./.bashrc
6、创建下载目录android并初始化repo
~$
mkdir android
~$ cd android/
初始化
~/android$ repo init -u https://android.googlesource.com/platform/manifest -bandroid-2.3.1_r1
下载(慢慢等吧)
~/android$ repo sync
7、编译(这里也慢慢等)
~/android$
make
注意:
出现错误,首先,全部赋予可执行权限
错误:find: `frameworks/base/frameworks/base/docs/html': No such file or directory
find: `out/target/common/docs/gen': No such file or directory
此错误忽略,不影响编译
错误:/usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
解决方法:~/android$ sudo apt-get
install libc6-dev-i386
错误:external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory
解决方法:~/android$sudo
apt-get install zlib1g-dev
错误:/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] Error 1
解决方法:~/android$sudo
ln -s /usr/lib32/libstdc++.so.6 /usr/lib32/libstdc++.so
中间或许还有其他各种错误,遇到了自己百度去。
编译成功会有如下输出
Target system fs image:
out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img
Installed file list: out/target/product/generic/installed-files.txt
8、运行
启动模拟器,运行$ emulator
错误:No command 'emulator' found, did you mean:
Command 'qemulator' from package 'qemulator' (universe)
emulator: command not found
解决方法:编辑/etc/environment
加入环境变量
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:usr/lib/jvm/java-6-sun-1.6.0.26/bin:/home/nanlus2/android/out/host/linux-x86/bin"
CLASSPATH="/usr/lib/jvm/java-6-sun-1.6.0.26/lib"
JAVA_HOME="usr/lib/jvm/java-6-sun-1.6.0.26"
ANDROID_PRODUCT_OUT="/home/nanlus2/android/out/target/product/generic"
注:/home/nanlus2/android为源码目录
保存,重启。运行$
emulator
错误:SDL init failure, reason is: No available video device
解决方法:$apt-get install ia32-libs lib32stdc++6
再次运行$ emulator
成功
二、编译自己的apk
1、编写完成工程。
2、编写Android.mk文件,放入工程目录下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := helloworld
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
3、编译
拷贝工程至packages/apps/下
~$ cp -ri
helloworld ~/android/packages/apps/helloworld
进入目录 ~/...../helloworld$ mm
编译成功:out/target/product/product_name/system/app/helloworld.apk
4、运行
安装在机子上运行之。adb
install xxx/helloworld.apk
在这里也可以一起打包,
$make snod
然后,再运行,启动模拟器即可。
分享到:
相关推荐
这篇文档详细描述了在android源码上编译APK的过程
Android Launcher 源码修改可编译.zip源码资源下载Android Launcher 源码修改可编译.zip源码资源下载
AndroidKiller的基础上修复反编译源码卡死的问题,并且更新最新ShakaApktool.jar和apktool.jar
Android反编译apk到java源码的方法[收集].pdf
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...
Android_反编译apk_到java源码的方法
1. 下载成功后解压 2. 将apk文件放到onekey-decompile-apk目录下 3. 将apk文件拖拽到_onekey-decompile-apk.bat上 4. 执行完成后 会在onekey-decompile-apk目录下生成和apk同名的目录(放置了apktools反编译出来的...
有个编译好的第三方apk,合入到系统中,在packages\apps目录创建文件夹wukong,将第三方wukong.apk拷贝到wukong文件夹下,并在wukong文件夹创建Android.mk
一款可视化的安卓应用逆向工具,集Apk反编译、Apk打包、Apk签名,编码互转,ADB通信(应用安装-卸载-运行-设备文件管理)等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字(支持单行代码或多行代码段)...
Android 反编译apk 到java源码的方法.pdf
反编译Apk得到Java源代码 转载自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html 工具下载:需用到dex2jar和JD-GUI这2个工具 dex2jar下载地址:...
Androidfby、apktool、jd-gui、dex2jar、smali等工具。将apk反编译成java源码并进行查看分析。
Android apk反编译全套,包含指导文档和需要下载的工具压缩包,无需再次下载,根据文档可根据apk文件反编译出源码
图像化反编译文件
android Contacts 源码eclipse编译Contacts 联系人 eclipse 源码此为android Contacts 联系人源码在eclipse编译的APK。 可以运行在 android4.4 以及一下的系统中,本人通过大量修改 直接安装运行即可。
Jadx gui图形界面版 单文件绿色版 Android反编译工具查看apk源码 0.9.0老版本 之前用的1.0.0遇到加固apk会反编译卡死 该版本在Java1.8环境中,中文可能存在乱码问题,建议使用英文语言
Android音乐播放器源码,Bin内是编译生成的APK文件,拷贝到手机里即可运行。Android源码随着Android手机的盛行逐渐流行,学习Android开发的朋友你可要好好下载研究哦 另外打包了APK反编译工具 方便大家学习
下载反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。 dex2jar:apk反编译工具 ,是将apk中的classes.dex转化成jar文件 jdgui:源码查看工具,是一个反...
Android小霸王nes游戏模拟器源码编译的apk Android小霸王nes游戏模拟器源码编译的apk
Gradle编译打包Android apk详细介绍 理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章。 APK包是一个ZIP...