根据学习对HelloWorld进行手术的时候,遇到了一个问题:
就是在修改了布局后,重新链接模拟器时报错:
Installing helloworld.apk...
Re-installation failed due to different application signatures.
You must perform a full uninstall of the application. WARNING: This will remove the application data!
Please execute 'adb uninstall com.china.helloworld' in a shell.
Launch canceled!
这是怎么回事呢?
原因是安装的apk程序签名不一样导致的,在发布到android market上时apk的签名是有jarsigner和keytool生成的,然后通过adb install安装的apk文件则会自动签上debug权限,两种的RSA散列不同所以会出现这样的问题,解决的方法就是先卸载了原来的:"You must perform a full uninstall of the application".
根据提示"Please execute 'adb uninstall com.china.helloworld' in a shell"知道卸载的方式为通过cmd命令adb。
那好吧...试试这样卸载行不行:
cmd->cd D:/android-sdk-windows/tools->adb uninstall com.china.helloworld
结果:
搜索了一下 果然我的SDK里面没有这个ADB工具。。。。。-_-!
[ 转自:http://www.hiapk.com/bbs/thread-623-1-1.html ]
那这个adb究竟是个什么呢?
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).
它的主要功能有
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.
安装ADB方法:
电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USB debugging.
对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后修改~/.bash_profile文件, 设置运行环境指向sdk的tools目录.
具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加), 在里面加入一行:
export PATH=${PATH}:<你的sdk目录>/tools
例如:
然后就可以使用adb命令了.
嫌安装麻烦的同学其实也可以省去上面安装步骤, 直接输入完整路径来使用命令, 例如:
对于windows xp用户, 需要先安装usb驱动 android_usb_windows.zip (1.33 MB)
, 然后如果你只打算使用adb而不想下载整个sdk的话, 可以下载这个单独的adb工具包 adb_win.zip (571.56 KB)
下载后解压, 把里面 adb.exe 和 AdbWinApi.dll 两个文件放到系统盘的 windows/system32 文件夹里就可以了. 如图:
现在说下ADB常用的几个命令:
1.查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2. 安装软件
adb install
这个命令将指定的apk文件安装到设备上
3. 卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件
4. 登录设备shell
adb shell
adb shell
这个命令将登录设备的shell.
后面加
5. 从电脑上发送文件到设备
adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
6. 从设备上下载文件到电脑
adb pull <远程路径> <本地路径>
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
7. 显示帮助信息
adb help
这个命令将显示帮助信息
PS.
我是把下载下来的文件放到了我SDK安装的目录D:/android-sdk-windows/tools下,在cmd中查询设备,跟上图反应一致(模拟器没开着...):
开启模拟器,可以从应用列表中看到helloworld应用程序:
进入cmd,查看当前链接设备为模拟器-5554,如下:
使用adb命令行删除helloworld应用,得到结果为Success:
此时,进入模拟器可以看到helloworld程序已经被删除了: