为了每次重新部署都不要阅读文档,特意在此处记录下PANDA的部署过程。

更新与2015年1月10日

Panda介绍

一个开源项目,github地址https://github.com/moyix/panda/

部署过程

根据:https://github.com/moyix/panda/blob/master/docs/compile.mdubuntu14.04 LTS 上部署

编译前准备环境

sudo apt-get install build-essential 
sudo apt-get build-dep qemu
sudo apt-get install nasm
sudo apt-get install libssl-dev
sudo apt-get install libpacap-dev
sudo apt-get install subversion

llvm和clang准备

这个是Panda的依赖环境:

svn checkout http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_33/final/ llvm
cd llvm/tools
svn checkout http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_33/final/ clang
cd -
cd llvm/tools/clang/tools
svn checkout http://llvm.org/svn/llvm-project/clang-tools-extra/tags/RELEASE_33/final/ extra

在llvm目录下进行编译,在终端使用如下命令(for android,release版本):

CC=gcc CXX=g++ ./configure --enable-android --enable-optimized --disable-assertions --enable-targets=x86 && REQUIRES_RTTI=1 make -j $(nproc)

等待编译完成(低配置机器需要很久。。)

编译安装distorm

这个也是依赖环境:

svn checkout http://distorm.googlecode.com/svn/trunk/ distorm
cd distorm/make/linux
make
sudo make install
cd ..
cd distorm/include
sudo cp * /usr/local/include
cd ..

下载panda并编译

git clone https://github.com/moyix/panda.git
cd panda/qemu
  1. 修改build.sh,将llvm路径指向刚才安装的位置,添加参数--enable-android注意llvm的路径要用和build.sh的相对路径而不是用~/的绝对路径
  2. 执行 sh ./build.sh
  3. 将panda/qemu添加到环境变量
  4. 执行命令qemu-img来确定环境是否编译正常

记得将panda/qemu路径加到环境变量中!!!

ps.官方文档介绍,默认使用GCC4.7编译,如果有其他需求,使用

$ cd qemu
$ CC=gcc-4.8 CXX=g++-4.8 sh ./build.sh

进行编译。

在ubuntu14.04lts中,gcc是4.8.2,所以我们要么直接修改build.sh文件里面的cc和cxx为gcc和g++要么就用CC=gcc CXX=g++ sh ./build.sh来编译

下载android镜像

移步http://blog.chenjia.me/articles/141201-002000.html,然后下载好需要使用对应的android版本的虚拟机镜像~要下载arm_cpu的~

生成模拟器进行并装换

生成一个模拟器。
然后创建一个目录。
在目录里面运行python ~/panda/scripts/pandroidConverter.py dev41 对dev41模拟器进行转码
然后单独对sdcard.img进行转换

qemu-img convert -f raw -O qcow2 ~/.android/avd/dev.avd/sdcard.img sdcard.qcow2

现在ls一下目录我们就可以看到好几个文件了。

运行

现在更新了runpanda.py的脚本,给两个参数,一个是刚才我们生成文件的路径,一个是android api,比如4.1.2 就是16

现在还在测试runpandroid.py的其他参数-2015年1月11日16:29:16

标签: none

添加新评论