TaintDroid下载预编译(五):TaintDroid(Android)系统编译虚拟机和真机測试

光说不练非好汉,如今就让我们开启自己编译的系统測试!事实上懂得这些过程。就知道了Android手机系统定制的整个流程。现有的智能机都是使用Google的android开源的系统然后加入一些自己的东西。就成为公司的系统!

TaintDroid(Android)虚拟机上測试

我们前面讲了怎样编译,编译的成功的标识就是生成system.img文件,例如以下图:

sdk替换

拷贝system.img镜像文件,替换掉sdk中的镜像。例如以下图:

对于创建AVD非常easy,这里几张图就能够看懂。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

点击start就能够启动该虚拟机。

Api一定是调用18的,由于该接口是我们编译生成的system.img

执行TaintDroid!这里我对该应用进行了改动,使其能够生成日志文件!

已经測试成功。

TaintDroid(Android)在真机上測试

在真机上比較复杂,须要下载驱动。我測试的手机是Galaxy Nexus i9250所下面载例如以下驱动

% cd ~/tdroid/tdroid-4.3_r1
% wget https://dl.google.com/dl/android/aosp/broadcom-maguro-jwr66y-5fa7715b.tgz
% tar -zxvf broadcom-maguro-jwr66y-5fa7715b.tgz
% ./extract-broadcom-maguro.sh # (view the license and then type "I ACCEPT")
...
% wget https://dl.google.com/dl/android/aosp/imgtec-maguro-jwr66y-b0a4a1ef.tgz
% tar -zxvf imgtec-maguro-jwr66y-b0a4a1ef.tgz
% ./extract-imgtec-maguro.sh # (view the license and then type "I ACCEPT")
...
% wget https://dl.google.com/dl/android/aosp/invensense-maguro-jwr66y-e0d2e531.tgz
% tar -zxvf invensense-maguro-jwr66y-e0d2e531.tgz
% ./extract-invensense-maguro.sh # (view the license and then type "I ACCEPT")
...
% wget https://dl.google.com/dl/android/aosp/nxp-maguro-jwr66y-d8ac2804.tgz
% tar -zxvf nxp-maguro-jwr66y-d8ac2804.tgz
% ./extract-nxp-maguro.sh # (view the license and then type "I ACCEPT")
...
% wget https://dl.google.com/dl/android/aosp/samsung-maguro-jwr66y-fb8f93b6.tgz
% tar -zxvf samsung-maguro-jwr66y-fb8f93b6.tgz
% ./extract-samsung-maguro.sh # (view the license and then type "I ACCEPT")
...
% wget https://dl.google.com/dl/android/aosp/widevine-maguro-jwr66y-c49927ce.tgz
% tar -zxvf widevine-maguro-jwr66y-c49927ce.tgz
% ./extract-widevine-maguro.sh # (view the license and then type "I ACCEPT")

建立buildspec.mk文件并输入下面内容!

% cd ~/tdroid/tdroid-4.3_r1
% edit/create buildspec.mk
# Enable core taint tracking logic (always add this)
WITH_TAINT_TRACKING := true

# Enable taint tracking for ODEX files (always add this)
WITH_TAINT_ODEX := true

# Enable taint tracking in the "fast" (aka ASM) interpreter (recommended)
WITH_TAINT_FAST := true

# Enable additional output for tracking JNI usage (not recommended)
#TAINT_JNI_LOG := true

# Enable byte-granularity tracking for IPC parcels
WITH_TAINT_BYTE_PARCEL := true

開始进行编译!

打开build/target/product/core.mk加入内容

PRODUCT_PACKAGES +=                     BasicDreams                     ...
                    voip-common                     TaintDroidNotify

又一次编译

% . build/envsetup.sh
% lunch 12
% make clean
% make -j4

開始进行刷机

首先对手机fastboot状态调成UNCLOSE

% fastboot oem unlock

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

进行刷机!

% cd out/target/product/maguro
% fastboot flash boot boot.img
% fastboot flash system system.img
% fastboot flash userdata userdata.img

例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

測试结果

至此。实验最终完毕了!

总结

看着图片非常easy,操作起来相当麻烦!

编译错误,刷机错误。反正一点一点调吧!整个过程走下来,至少还是能学点东西的!!

(驱动一定要符合手机,否则刷机的開始也是板砖的開始。变板之后再想恢复,对于google手机比較难。假设SD卡外置就相当简单,可我实验的机子都是内置的SD卡~~~)

祝大家学习愉快!

时间: 2024-08-04 20:56:22

TaintDroid下载预编译(五):TaintDroid(Android)系统编译虚拟机和真机測试的相关文章

realarm Android系统编译后内核无法启动的解决方法

由于之前版本使用的内核并非uImage格式,而在编译时使用的是非uImage格式编译,所以照成无法启动. 解决方法是,在编译内核时使用make uImage方式编译. 修改根目录下的build_realv210.sh文件,如下图所示 另外注意上图中CPU_JOB_NUM这个参数,要根据自己的电脑配置来选择,该参数在该文件的起始处设置,可以设置成电脑CPU核心数的2倍,例如:如果核心数为2,那么设置成4即可. 完整脚本下载地址:http://download.csdn.net/detail/u01

Android系统编译时遇到的几个.mk的疑惑。

在Android4.2的源码Build/prduct_config.mk里面遇到几个疑惑: # Convert a short name like "sooner" into the path to the product # file defining that product. # INTERNAL_PRODUCT := $(call resolve-short-product-name, $(TARGET_PRODUCT)) ifneq ($(current_product_ma

Android系统编译与测试

1.Android系统分析 2.下载Android源代码(不包括Linux内核部分) 下载好了的Android_5.01.tar.gz,通过samba复制到ubuntu里,再解压之. 可以看到AndroidSrc/这个文件夹,它存放的就是Android源代码了. 3.编译 a.初始化编译环境,在build目录下面 b.选择编译目标(配置) 配置 这里有好几个小时的时间zzzzzzzzzzzzzzzzzzz c.编译目标输出 4.测试Android系统 a.创建一个模拟器来模拟设备 启动studi

Android系统编译环境搭建

之前在公司做Android系统开发时,服务器编译环境都是我来配置的,总结了一份文档,文档放着很久了,一来跟大家共享下,二来防止丢失. 1.JDK环境变量配置 将mtkoss.tar.gz上传到/目录,使用命令:#tar –xvzf mtkoss.tar.gz 修改/etc/profile文件,加入环境变量: JAVA_HOME=/mtkoss/jdk/1.6.0_45-ubuntu-10.04/x86_64 JRE_HOME=/mtkoss/jdk/1.6.0_45-ubuntu-10.04/x

Mac OS X系统下android环境变量配置和真机调试

一.确保你的安卓手机可以被mac读取. 方法:下载并安装 androidfiletransfer.dmg 文件,让你的Mac可以存取Android手机内存. 下载地址:http://www.android.com/filetransfer  需要翻墙 或者链接: http://pan.baidu.com/s/1bpiEb8N 密码: gun 二.设置好你机器的环境变量. 在Mac下开发Android,要想在终端利用命令行使用adb/android等命令时,需要配置一下环境变量. 1.找到SDK文

macbook Android开发环境搭建,真机调试

买了一台MacBook,本以为可以鼓捣一下iOS开发之类的,可惜导师要我做Android开发.无奈开始了在MacBook上开发Android的工作. 从开始配置环境到应用成功在真机上运行,也是曲曲折折,所以在这里总结一下如何从零开始配置MacBook. 一.下载配置ADT和SDK 随着Android设备的普及,Google也简化了ADT和SDK的配置过程,现在提供整合的ADT+SDK包供开发者下载:http://wear.techbrood.com/sdk/index.html 用Google的

(转)android 在电脑上显示真机屏幕

http://my.oschina.net/u/202293/blog/199954 方法一: 可以用360手机助手等实现. 方法二: 想把手机屏幕显示在电脑屏幕上时就需要使用Android Screen Monitor,一个叫asm.jar的文件. ①下载  http://code.google.com/p/android-screen-monitor/ ②将asm.jar复制到D:/android-sdk/platform-tools目录下 ③执行Android Screen Monitor

Android Gradle Plugin指南(四)——測试

原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing 5.Testing(測试) 构建一个測试程序已经被集成到应用项目中,没有必要再专门建立一个測试项目. 5.1 Basics and Configuration(基本知识和配置) 正如前面所提到的,紧邻main sourceSet的就是androidTest sourceSet,默认路径在src/androidTest/下. 在这个測试so

Android通过TCPIP进行无线真机调试

1. 使用USB数据线连接设备(此方法需配置adb环境变量,也可直接进入adb工具目录执行\android-sdk-windows\platform-tools\). 2. 命令输入adb tcpip 5555 ( 5555为端口号,可以自由指定). 3. 断开 USB数据,此时可以连接你需要连接的USB设备. 4. 再命令输入 adb connect <设备的IP地址>:5555 后面就可以使用ADB ,DDMS 来调试Android应用或显示Logcat 消息. 5. 如果需要恢复到USB