如何将原网站移植ffmpeg android 移植中

[视频]微软展示如何轻松移植Android应用到Windows 10上
在本周三召开的Build开发者大会上,微软宣布Android和iOS应用开发者能够非常轻松的将应用移植到Windows 10系统上。尽管此前已经有相关的谣传,但是当微软正式宣布的时候依然让人难以相信。想必很多用户都认为当前WP平台的最大短板是应用,除Universal App之外微软再次希望通过简化应用移植过程来丰富应用数量。
为了进一步演示如何轻松使用“Project Astoria”,微软在最新的宣传视频中显示了Android版和Windows 10版本“Timber”应用的相似之处和不同点。而要想让一款应用在Windows 10上运行,只需要将应用拖拽到Windows 开发者协议中的分析工具就能完成,微软甚至还提供了开发者手册,按照推荐的步骤能够成功的完成应用移植。
cnBeta 已经入驻豌豆荚啦,扫描左侧的二维码就可以在豌豆荚关注我们。最懂应用的豌豆荚,发现无数好应用。
[责任编辑:study875]
-5-4-3-2-1012345
当前平均分: 打分后显示
-5-4-3-2-1012345
当前平均分: 打分后显示您当前的位置:&>&&>&
如何将Android移植到FS2410开发板上
一、目前进展
1.Android已经可以通过NFS在FS2410开发板上运行
二、目前缺陷
1.触摸屏没有校准
2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动
3.串口无法与GPRS模块通讯
三、移植步骤
一、移植Android内核到FS2410开发板上
1、下载linux-2.6.25-android-1.0_r1.tar.gz
2、将内核解压到用户目录,如/home/wangan/kernel.git
3、进入kernel.git文件夹,如cd ~/kernel.git/
4、修改arch/arm/plat-s3c24xx/common-smdk.c文件中的nand flash分区设置,如gedit arch/arm/plat-s3c24xx/common-smdk.c
修改static struct mtd_partition smdk_default_nand_part[]结构体为:
static struct mtd_partition smdk_default_nand_part[] = {
&&&&&& [0] = {
&&&&&&&&&&&&& .name&&&&& = &Boot Agent&,
&&&&&&&&&&&&& .size = SZ_256K,
&&&&&&&&&&&&& .offset&&&& = 0,
&&&&&& [1] = {
&&&&&&&&&&&&& .name&&&&& = &Linux Kernel&,
&&&&&&&&&&&&& .offset = SZ_256K,
&&&&&&&&&&&&& .size = SZ_2M - SZ_256K,
&&&&&& [2] = {
&&&&&&&&&&&&& .name&&&&& = &File System&,
&&&&&&&&&&&&& .offset = SZ_2M,
&&&&&&&&&&&&& .size = SZ_32M - SZ_2M,
&&&&&& [3] = {
&&&&&&&&&&&&& .name&&&&& = &Other&,
&&&&&&&&&&&&& .offset&&&& = SZ_32M,
&&&&&&&&&&&&& .size = SZ_32M,
5、在网站上下载IA32 GNU/Linux TAR。
6、将文件解压到用户目录,如/home/wangan/arm-2008q3
7、进入arm-2008q3/bin文件夹,如cd ~/arm-2008q3/bin/
8、添加当前路径进入环境变量,如export PATH=$PWD:$PATH,或修改~/.bashrc文件并重新登录
9、进入内核文件夹,如cd ~/kernel.git/
10、修改Makefile文件,如gedit Makefile
更改ARCH和CROSS_COMPILE
#ARCH&&&&&&&&& ?= $(SUBARCH)
ARCH&&&&&&&&&&& ?= arm
#CROSS_COMPILE&&&&& ?= arm-eabi-
CROSS_COMPILE&&&&&& ?= arm-none-eabi-
11、从华清远见Linux-2.6.8.1内核压缩包中提取.config文件(注意:config前面有个&.&)放入kernel.git文件夹
12、运行make menuconfig
(1) 确保System Type& ---& ARM system type ()中的内容为Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443
(2) 确保System Type& ---& S3C2410 Machines& ---& [*] SMDK0被勾选
(3) 取消选择与Goldfish相关的内容
Device Drivers& ---& Character devices& ---& & & Goldfish TTY Driver
Device Drivers& ---& Power supply class support& ---& & &&& Goldfish battery driver (NEW)
Device Drivers& ---& Real Time Clock& ---& & &&& GOLDFISH (NEW)
Device Drivers& ---& Graphics support& ---& Support for frame buffer devices& ---& & &&& Goldfish Framebuffer
(4) 选择S3C2410 LCD相关的内容
Device Drivers& ---& Graphics support& ---& Support for frame buffer devices& ---& &*&&& S3C2410 LCD framebuffer support
Device Drivers& ---& Graphics support& ---& [*] Bootup logo& ---& [*]&& Standard black and white Linux logo
Device Drivers& ---& Graphics support& ---& [*] Bootup logo& ---& [*]&& Standard 16-color Linux logo
Device Drivers& ---& Graphics support& ---& [*] Bootup logo& ---& [*]&& Standard 224-color Linux logo
(5) 选中Android内核必须选项
Kernel Features& ---& [*] Use the ARM EABI to compile the kernel
General setup& ---& [*] Use full shmem filesystem
General setup& ---& [*] Enable Android's Shared Memory Subsystem
System Type& ---& [*] Support Thumb user binaries
Device Drivers& ---& Android& ---& [*] Android log driver
Device Drivers& ---& Android& ---& &*& Binder IPC Driver
(6) 尽量选中Android内核可选选项
Device Drivers& ---& Android& ---& [*] RAM buffer console
Device Drivers& ---& Android& ---& [*] Android timed gpio driver
Device Drivers& ---& Android& ---& [*] Only allow certain groups to create sockets
(7) 其余CONFIG选项,如系统支持请一并选择
CONFIG_ANDROID_POWER =y
CONFIG_ANDROID_POWER_STAT =y
CONFIG_ANDROID_POWER_ALARM =y
(可以在Kconfig文件中查找ANDROID_POWER等字段进行选择,或者直接修改.config文件)
13、退出并保存.config&
经过反复的比较和遴选,《今日电子》和21ic中国电子网举办的2013年度产品奖正式揭晓…
() () () () () () () () ()后使用快捷导航没有帐号?
查看: 3273|回复: 2
【转载】如何把CyanogenMod 移植到到自己的android设备上
在线时间130 小时
威望3730 分
芯币3392 枚
TA的帖子TA的资源
五彩晶圆(中级), 积分 3730, 距离下一级还需 2270 积分
前言& && && && &今年已经到了四月,不少工作任务与Android相关,于是准备开始开题学习Android。Android已经火热了几年,现在开始看,网上的文章汗牛充栋,想必是乏新可陈。我错过Android总是有缘因的,3年前开始,从moblin、Maemo、到MeeGo,误入Linux终端的领域,还没有来得及感叹一下自己的“新事业”,MeeGo于Nokia犹如被斩下的断臂,和被放弃保帅的车马,只留下特立独行的绝版神机诺基亚N9,在风中做“不跟随(N9的广告语)”的姿态。作为世间的饮食男女,MeeGo可以“不跟随”,我却不能不跟随,当年从事MeeGo的人大多转到了Android平台,我也赶紧爬上Android的大船,并祈祷这艘大船从此顺风顺水一路平安。然一份工作,若无足够钱物驱使,必要做得有趣(俗人本无所求,无非名利),对本人来说,只好看看怎么把事情做成有趣一些开心一些。
工欲善其事,必先利其器
1、基础环境
使用的环境:ubuntu 11.04环境,测试的Android机器 华为:C8500。
官方参考文档:
官方文档列出开发需要下列的软件包以及下载来源:
Python 2.5 -- 2.7,&&python.org.
GNU Make 3.81 -- 3.82,&&gnu.org
JDK 6 if you wish to build G JDK 5 for Froyo or older. You can download both from .这里安装的是JDK6
Git 1.7 or newer.&&.
官方文档说11.10的运行以下的安装命令如下:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
&&zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
&&libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
&&libxml2-utils xsltproc
网上有一安装的指引给出另一个安装命令
$sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool&&
由于懒得逐个包去甄别,上述两条命令我都运行和安装了。
注意:sun-java6-jdk是无法安装的,可以自己下载,请参考:
2、关于 USB 访问权限
Android的开发和调试使用的最主要连接设备的命令 adb和fastboot都需要使用USB连接,从文档上知道,Ubuntu下面USB的访问权限可能会出问题,解决的方法文档也列明了。
我的经验是如果访问不了连接的USB设备了,再查阅资料处理。为了以备以后查阅,记录下来如下:
针对摩托罗拉的设备,使用root文件创建/lib/udev/rules.d/11-android.rules,生成下列的配置到文件中。#号为注释符号,下列配置,第一行针对一种设备,第二行针对所有摩托罗拉设备。
#SUBSYSTEM==&usb&, ATTRS{idVendor}==&22b8&, ATTRS{idProduct}==&41db&,MODE=&0666,OWNER=&shallon&
SUBSYSTEM==&usb&, ATTRS{idVendor}==&22b8&, MODE=&0666&, OWNER=&shallon&&&#All Motorola
其中的idVendor和idProduct的值怎么来呢?用USB线连接设备,然后运行lsusb可以看到设备的这两个值,例如,下文显示摩托罗拉的ME811的相关配置值就是22b8和41db。
Bus 001 Device 082: ID 22b8:41db Motorola PCS Droid/Milestone (Debug mode)
Bus 001 Device 083: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
3、安装reporepo是一种更好的用git的一种工具环境。下面命令中repo安装到用户home目录的bin目录下。
$ mkdir ~/bin
$ PATH=~/bin:$PATH
& ~/bin/repo
$ chmod a+x ~/bin/repo
4、下载安装Android 源码 如果不打算编译Android源码,可以跳过。在WORKING_DIRECTORY上下载源代码,使用repo init命令指定下载源代码的版本,-b 参数指定版本号,如果不指定,则是最近的一个版本。
repo sync则是下载/同步代码的命令。
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u
$ repo init -u
-b android-4.0.1_r1
$ repo sync
4.a、下载 cyanogenmod 的源码可以生成自定义的 Android RomCyanogenMod 致力于生成第三方的非官方的 Android 的 Rom ,目前比较火爆的小米手机的MIUI就是CyanogenMod的衍生产品。下面的命令获取 gingerbread 的版本的源代码。如果不打算尝试这些工作可以跳过此步。
$ mkdir -p ~/cyanogenmod
$ repo init -u git:///CyanogenMod/android.git -b gingerbread&&
$ repo sync -j16&&
n这里是16,表示同时打开的网络链接数,开启多个网络连接来下载,用以提升的下载的速度。
5、下载开发编译用的Android SDK
参考的官方文档:
5.1下载eclipse开发环境,推荐安装“Eclipse Classic”版本,介质下载的地址: 不用eclipse者可以略过
5.2下载Android SDK,介质安装的地址:
5.3下载安装eclipse 的ADT plug-in,ADT是 Android Development Tools的缩写。
详细的安装方法
5.4安装相关的工具包开发包。
安装的方法,可以从eclipse的IDE界面启动Android SDK Manager, Window & Android SDK Manager,或者在Android SDK的根目录运行android命令。
下列的开发包必须要安装:“SDK Tools”,“SDK Platform-tools”,“Android platforms(选择一个或者多个)”
6、测试Android SDK的主要开发工具
使用USB线连接一台测试的Android设备,运行adb 的两个命令
~/android/sdk/android-sdk-linux/platform-tools$ ./adb devices
List of devices attached
0A3AABB70502A00A device
~/android/sdk/android-sdk-linux/platform-tools$ ./adb shell 连接上设备,能够看到设备上的文件系统,证明adb的工具运作正常。
adb的工具很重要,主要用来调测设备。如果设备被“root”(系统被破解,开放了设备的管理员权限),连接上设备之后,能进行安装、删除软件,远程上传/下载文件,以及查看系统的日志等操作。如果设备没有“root”,则可以用的操作少很多。
6.2 fastboot
fastboot则是用来刷机的,主要用到的操作如下:
& & fastboot flash userdata userdata.img
& & fastboot flash system system.img
& & fastboot flash boot boot.img
& & fastboot reboot
6.3 SDK上的Android模拟器
~/android/sdk/android-sdk-linux/tools$ ./emulator ,显示命令存在,但是报错了,不要紧,这里运行一下只是看看是否正常安装了。
这三个工具的用法,请听下回分解
原文博客地址
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:
在线时间130 小时
威望3730 分
芯币3392 枚
TA的帖子TA的资源
如何编译cyanogenmod
什么是cyanogenmod
CyanogenMod是一个Android第三方固件发布和维护的组织,基于官方的Android开源代码衍生出自己的版本。其中,CyanogenMod 6基于Android 2.2(Froyo),CyanogenMod 7基于Android 2.3(Gingerbread)以及CyanogenMod的定制代码,CyanogenMod 8基于Android 3.x(Honeycomb),CyanogenMod 9则基于Android 4.x( Ice Cream Sandwich)。国内有许多的智能手机民间的Android ROM定制社区,以及官方发布的深度定制OS大多是基于CyanogenMod衍生而来,其中著名的有小米的MIUI、盛大的乐众Rom等。这里使用CyanogenMod 7来进行研究。
此处,编译CyanogenMod的OS,只编译操作系统的主要部分,并不编译修改操作系统内核,使用现成的操作系统内核进行打包。关于cyanogenmod的源码目录怎么下载以及android的开发调试环境如何安装的问题,请参见我之前的文章。
CyanogenMod 7的源码目录中,用device目录下面列出了许多的厂商的各种机型。如果目标设备在其中,则可以直接进行编译。例如,华为的u8150设备在cyanogenmod 7上可以看到设备相关的目录“~/cyanogenmod/device/huawei/u8150”。这里可以推荐一个步骤一步一步执行即可(添加链接)。如果目标设备不在CyanogenMod支持的列表中,则需要生成设备相关的文件。
如何向CyanogenMod添加一种新的设备
基本上,这个很难,需要比较专业的人士才能做。基本的原理是,利用现成的的一个运作良好的设备,例如,买了一台智能手机后,将该智能手机破解(ROOT),权限打开后,将设备相关的文件逐个拷贝出来,这些设备相关的文件都是SO的文件(运行时链接的文件),这些文件在Cyanogenmod编译完成后直接进行打包。为何不直接编译生成SO文件呢?原因是这些文件直接和特定的设备相关,设备厂商并不开放这部分源代码(Android的License允许),主要是Android操作系统中HAL层的文件(关于Android的HAL结构,是导致设备相关的驱动逻辑没有放在内核,而是放在用户空间的原因,可以查资料了解一下)。
设备相关的文件如何获取呢?如何知道要从现成的机器抓取什么文件下来呢?这个对普通的CyanogenMod编译者来说,直接去网上看看有没有大牛的共享好了。例如,本人的C8500,不是cyanogenmod 7支持的设备类型,我只好在互联网上痛苦的寻找编译所缺失的文件,相关下载链接为试验的时候所用,不能保证该链接长久有效。(实际上,我已经发现部分链接无效了,瀑布汗)
C8500设备的编译准备工作
CyanogenMod源码下载请参见前文: 中的“下载 cyanogenmod 的源码可以生成自定义的 Android Rom” 部分
1.生成~/cyanogenmod/device/huawei的c8500设备目录
1.1下载设备描述文件:ioz9-android_device_huawei_cdd9b.zip(下载链接:)
1.2解开后将根目录改名为c8500
2.添加~/cyanogenmod/device/common/gps目录下c8500相关文件,解决编译找不到文件的问题
2.1.下载ShunYea-android_device_common_gps-b7f9c29.zip文件(下载链接:)
2.2.解开获取gps.conf_CN_SUPL文件和gps_cn_supl.mk文件拷贝到目录下
以下步骤主要为了向编译系统支持多一种设备的编译。
3.添加~/cyanogenmod/vendor/cyanogen/products目录下的cyanogen_c8500.mk文件
3.1下载ShunYea-android_vendor_cyanogen_products-7c7703d.zip文件(下载链接:)
3.2解开获取cyanogen_c8500.mk文件拷贝到目录下
4.~/cyanogenmod/vendor/cyanogen$ vi vendorsetup.sh
add_lunch_combo cyanogen_c8500-eng
5.~/cyanogenmod$ vi ./vendor/cyanogen/products/AndroidProducts.mk
$(LOCAL_DIR)/cyanogen_c8500.mk \
运行~/cyanogenmod/device/huawei/c8500$ ./setup-makefiles.sh
C8500设备的编译过程
1.获得设备相关的文件,将USB线连接一台ROOT之后的C8500设备,打开C8500设备的开发调试选项,并设置环境变量,使adb命令能被当前用户执行。请参见关于adb命令的部分。
cd ~/cyanogenmod/device/huawei/c8500
./extract-files.sh
实际上这个脚本就是调用adb pull命令将设备上的文件逐个抓下来,放到vender/huawei目录下。如果手上没有这样的一台设备,则可以去网上找一找,看看有没有人把目标设备的proprietary包共享出来,例如,C8500的设备,我找到了一个:
下载ioz9-proprietary_vendor_huawei-1d161c3.zip(下载链接:)
解开获取其中的c8500目录整个目录拷贝到~/cyanogenmod/vendor/huawei目录下
2.编译命令
cp ~/cyanogenmod/vendor/cyanogen/products/cyanogen_c8500.mk&&~/cyanogenmod/buildspec.mk
cd ~/cyanogenmod/
. build/envsetup.sh
lunch之后出现了设备列表,选择cyanogen_c8500-eng。eng是工程调试版本的意思。“make -j4”中的4可以修改,根据CPU的个数选择或者CPU个数的两倍来选择,用以加快编译速度。
3.经过漫长的编译过程之后
~/cyanogenmod/out/target/product/c8500目录下可以看到编译结果,主要有用的是:
userdata.img、system.img、boot.img、recovery.img等等。
使用fastboot命令将boot.img 、system.img、userdata.img刷入C8500,然后使用fastboot命令重启设备,详细参见的fastboot部分。
静待C8500启动,查看效果。4. 附录:userdata.img、system.img、boot.img、recovery.img的解包和重新打包工具。在~/cyanogenmod/out/host/linux-x86/bin/目录下,可以找到下列执行命令。
解开boot.img userdata.img system.img
~/cyanogenmod/out/host/linux-x86/bin/unpackbootimg -i boot.img
BOARD_KERNEL_CMDLINE mem=211M console=ttyMSM2, androidboot.hardware=c8500
BOARD_KERNEL_BASE
BOARD_PAGE_SIZE 4096
shallon@shallon-Joybook-R48:~/cyanogenmod/out/target/product/c8500/test$ ls -al
total 6056
drwxr-xr-x&&2 shallon shallon& & -20 14:22 .
drwxrwxr-x 10 shallon shallon& & -20 09:14 ..
-rw-r--r--&&1 shallon shallon 2-04-20 14:22 boot.img
-rw-rw-r--&&1 shallon shallon& && & 9
14:22 boot.img-base
-rw-rw-r--&&1 shallon shallon& && &61
14:22 boot.img-cmdline
-rw-rw-r--&&1 shallon shallon& && & 5
14:22 boot.img-pagesize
-rw-rw-r--&&1 shallon shallon&&2-04-20 14:22 boot.img-ramdisk.gz
-rw-rw-r--&&1 shallon shallon 2-04-20 14:22 boot.img-zImage
解开获得2个重要的文件,一个是操作系统的内核文件boot.img-zImage,一个是根文件系统ramdisk文件,boot.img-ramdisk.gz
~/cyanogenmod/out/host/linux-x86/bin/unyaffs userdata.img
解开可以看到userdata.img里面只有一个/data目录
~/cyanogenmod/out/host/linux-x86/bin/unyaffs system.img
解开可以看到原本位于system目录下的子目录。
将data目录生成文件userdata.img
out/host/linux-x86/bin/mkyaffs2image -f out/target/product/c8500/data out/target/product/c8500/userdata.img
生成boot.img
使用unpackbootimg再次打包生成新的myboot.img文件。该文件和原来的boot.img一样大小。
~/cyanogenmod/out/host/linux-x86/bin/mkbootimg --kernel boot.img-zImage --cmdline mem=211M console=ttyMSM2, androidboot.hardware=c8500 --base 0x --pagesize 4096 --ramdisk boot.img-ramdisk.gz --output myboot.img
生成system.img文件
~/cyanogenmod/out/host/linux-x86/bin/mkyaffs2image -f&&out/target/product/c8500/system out/target/product/c8500/obj/PACKAGING/systemimage_intermediates/system.img
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:
在线时间130 小时
威望3730 分
芯币3392 枚
TA的帖子TA的资源
& & 昨天写了,今天继续说说Android开发调试的几大工具,主要是adb fastboot 和emulator。一般使用eclipse进行开发的Android开发者也许完全不需要用到这几个命令,但是,若要了解到系统内部,工具无疑就是解剖Android的手术刀。
Android的NAND结构与Root的过程& && & Android的刷机、Root、开发调试过程中不可避免的涉及到Android的NAND(翻译做闪存?)。耳熟能详的主要几大分区有boot、system、userdata、和recovery。
& && &&&system、userdata分区在Android文件系统中被挂载为/system和/data目录,这两个目录在使用调试工具adb的时候可以看得到,/data允许进行读写,主要存放用户自安装的程序以及使用设备产生的用户个人数据,system目录存放系统的文件以及预装的重要的系统应用,挂载到文件系统中不允许读写(除非设备被Root)。boot分区则存放操作系统的内核和initrd。recovery分区包含了一套后备的系统,主要在设备升级、备份、维护的时候使用,简单的说,要刷ROM需要进入recovery模式。
& && &&&在设备的正常工作状态(即是设备没有被Root的时候)下,只有userdata和cache分区是可读写的,其他分区则一般处在只读状态。这种设计的本意是保护系统以及系统的重要程序不被恶意纂改,保证系统的安全性,但是,当recovery分区上的recovery.img被覆盖成另一个版本(例如ClockWorkMod recovery image),recovery分区上的NAND保护机制被破坏了,NAND的分区就完全失去了保护,可以自由的更新system.img和boot.img,此时,可以说设备被Root了,或者说Nand处在&解锁(unlocked)&状态。因此,Android智能手机用户自己动手Root手机设备以及使用网上下载的手机文件来更新Nand(刷机),这是危险的举动。fastboot的用法& && &&&fastboot是Android SDK的用来读写NAND的工具,位于android-sdk-linux/platform-tools目录下,下面介绍fastboot的主要用法。
& && &&&1、手机首先要进入fastboot状态/recovery模式下,有些设备必须确保设备处在S-OFF (security off)状态。 下面以华为的C8500设备来说明。
& && &&&a:首先关机
& && &&&b:按住“音量减键”不放开,按住红色“挂断键”不放开(请一直不要放开按住的“音量减键”),按住“电源键”不放开(请一直不要放开按住的“音量减键”与红色“挂断键”)
& && &&&c:持续按住大约五秒钟(三键同时按住),手机显示停顿在华为Logo画面(手机主界面并没有继续启动,即一直停顿在华为Logo开机画面),即表示手机进入fastboot模式
2、下面这几个命令刷写NAND的主要分区,并重启。
fastboot flash userdata data.imgfastboot flash system system.imgfastboot flash boot boot.imgfastboot reboot3、刷写recovery分区并重启
fastboot flash recovery /path/to/&recovery&.imgfastboot reboot4、擦除分区
fastboot erase bootfastboot erase recovery
& && &&&刷机完成后,在日常开发调试过程中,最重要的工具是adb(Android Debug Bridge),这个工具位于android-sdk-linux/platform-tools目录下。豌豆夹之类的软件是基于adb的底层机制做成的应用(由于这种应用和adb一样需要设备工作在开发调试模式下,相信Android官方其实不想鼓励这种应用)。
& && &&&ADB的用法说明:
& && &&&1、使用USB连接线连接ubuntu和智能手机设备,并在设备上打开调试模式。设置-&应用程序-&开发-&USB调试选项打勾。
& && &&&2、adb devices能够看到设备的状态,adb shell能够连接上去设备看到一个linux的系统,使用ls还能看到文件目录
& && &&&~/android/sdk/android-sdk-linux/platform-tools$ ./adb devices
& && &&&List of devices attached
& && &&&0A3AABB70502A00Adevice
& && &&&~/android/sdk/android-sdk-linux/platform-tools$ ./adb shell
& && & # ls
& && & acct& && && && && &&&init& && && && && &&&sd-ext
& && & cache& && && && && & init.c8500.rc& && &&&sdcard
& && & config& && && && && &init.goldfish.rc& &&&sys
& && & d& && && && && && &&&init.rc& && && && &&&system
& && & data& && && && && &&&mnt& && && && && && &ueventd.goldfish.rc
& && & default.prop& && && &proc& && && && && &&&ueventd.huawei.rc
& && & dev& && && && && && &root& && && && && &&&ueventd.rc
& && & etc& && && && && && &sbin& && && && && &&&vendor
3、上传下载文件
& && &&&adb pull &remote& &local&
& && &&&adb push &local& &remote&
4、查看日志
& && &&&~/android/sdk/android-sdk-linux/platform-tools$ ./adb shell
& && &&&#logcat ActivityManager:I *:S
04-12 16:01:03.255&& I ActivityManager: Start proc com.tencent.mm for broadcast com.tencent.mm/.booter.NotifyReceiver: pid=25676& && & uid=10188 gids={, 1015}
04-12 16:01:03.482&& I ActivityManager: Displayed activity com.android.settings/.ApplicationSettings: 323 ms (total 323 ms)
4、运行系统上的命令,进入adb shell,可以查看到/system/bin有可运行的系统命令使用,此处以sqlite3为例,获取应用的用户数据(被Root的机器,好危险呀)。
& && &&&$ adb -s emulator-5554 shell
& && &&&# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db
& && &&&SQLite version 3.3.12
& && &&&Enter &.help& for instructions
& && &&&.... enter commands, then quit...
& && &&&sqlite& .exit
emulator的用法
& && &&&emulator一般的Android开发人员也许不会了解到,原因是万能的eclipse IDE配置好了之后,开发人员就直接写应用,然后在IDE上运行调试去了。这无疑很大程度的降低了开发人员的技术门槛。emulator位于android-sdk-linux/tools目录下,相关的官方文档:
& && &&&emulator的工作原理很简单,创建开发机器上的虚拟硬件设备,在虚拟硬件设备上面运行系统。如果使用eclipse IDE,在第一次运行程序的时候会自动提醒建立虚拟硬件设备(图形界面,直接点击即可)。手工使用命令行创建虚拟硬件设备也可以,参考。
& && &&&命令行下创建虚拟硬件设备:
& && &&&~/android/sdk/android-sdk-linux/tools$ ./android create avd -n my_android2.3 -t 3
& && &&&Auto-selecting single ABI armeabi
& && &&&Android 2.3.3 is a basic Android platform.
& && &&&Do you wish to create a custom hardware profile [no]
& && &&&Created AVD 'my_android2.3' based on Android 2.3.3, ARM (armeabi) processor,
& && &&&with the following hardware config:
& && &&&hw.lcd.density=240
& && &&&vm.heapSize=24
& && &&&hw.ramSize=256
& && &&&命令行下运行模拟器,可以看到一个基于qemu虚拟机上运行的android模拟设备的运行界面:
& && &&&~/android/sdk/android-sdk-linux/tools$ ./emulator -avd my_android2.3
& && &&&用模拟器加载非系统缺省的调试NAND文件,创建好虚拟硬件设备后,使用emulator的参数指定第三方NAND分区文件。例如,下面的命令指定了自编译出来的各种文件:
& && &&&./emulator -avd my_emulator_avd -system ~/cyanogenmod/out/target/product/c8500/system.img -data ~/cyanogenmod/out/target/product/c8500/userdata.img -kernel ~/cyanogenmod/out/target/product/c8500/kernel -ramdisk ~/cyanogenmod/out/target/product/c8500/ramdisk.img -debug all
& && &&&遗憾的是,上述命令我并没有调试成功,模拟器上面显示出黑屏,上述命令仅仅供参考吧。
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:
Powered by
逛了这许久,何不进去瞧瞧?

我要回帖

更多关于 ffmpeg android 移植 的文章

 

随机推荐