把应用跑在android上

[size=medium]一,通过usb连接Android设备[/size]
adb devices //可以列出所有可用的安卓设备,若有问题尝试以下解决,若无问题则跳过

[size=medium]======无问题则跳过=======
①执行命令:[/size]
which adb

[size=medium]如没有出来一个目录,则可能android SDK配置有问题,解决如下:[/size]
touch ~/.bash_android
sudo gedit ~/.bash_android

[size=medium]在打开的文件中添加(或修改)以下两行内容[/size]
export ANDROID_HOME=/home/l/soft-install/android-sdk-linux  //注意/home/l/soft-install是我放android-sdk-linux的目录
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
android //在终端执行,如出来android SDK Manager则说明配置成功

[size=medium]②执行adb devices后出来一串问号,则可能不能识别该设备[/size]
sudo touch  /etc/udev/rules.d/51-android.rules //创建rules文件
gedit /etc/udev/rules.d/51-android.rules

[size=medium]添加以下一行内容[/size]
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"//其中ATTR{idVendor}=="0bb4"是指供应商的ID,应根据自己的情况具体添加;MODE分配指定读/写权限,GROUP定义了哪些Unix组拥有该设备节点

[size=medium]如不知道ID可以执行:[/size]
lsusb //可以列出所有与电脑连接的usb,还可以显示出其ID(在"ID"字母后面的四位数字或字母组合)例如:"Bus 002 Device 003: ID 1c4f:0032 SiGma Micro "则其ID为1c4f
source /etc/udev/rules.d/51-android.rules //使文件生效

[size=medium]此时需要重新插拔一下连接线[/size]
adb devices

[size=medium]======无问题则跳过=======[/size]
[size=medium]二,打包[/size]
cd RubymineProjects/party_bid/www

[size=medium]可以指定安装的名字:[/size]
packagename="com.a.b.c"  
apkname="abc-debug.apk"

gen
mdclean
mdbuild
cd ../app/build/
touch l-Lenovo-G470.properties //l-Lenovo-G470是我的电脑上的用户名,要根据实际情况改变
gedit l-Lenovo-G470.properties

[size=medium]添加以下一行内容:[/size]
sdk.dir=/home/l/soft-install/android-sdk-linux  //这是我的android sdk的目录,也可以打开名为code.properties的文件,把里面的内容copy出来(注意,要改最后一行的路径为你的电脑中android sdk的目录路径)

[size=medium]这时,我这里还出了一个错误,就是提示sdk的版本为16,但是16的工具没有安装,这时可以安装一下16的工具,也可以修改默认的版本为你安装的sdk工具的版本(为避免麻烦,可以安装所有的sdk工具),我这里修改了两个文件,若无问题可以跳过[/size]
cd ..
gedit AndroidManifest.xml

[size=medium]在打开的文件中修改(这一行应该在最后)中的16为17[/size]
gedit project.properties

[size=medium]在打开的文件中修改"target=android-16"中的16为17[/size]
adb clean 
ant debug

[size=medium]出现BUILD SUCCESSFUL则表示打包成功
三,安装应用到手机上[/size]
cd bin
adb uninstall -k $packagename //如果已经装过一次则要卸载,没有装过可以跳过;加-k参数,为卸载软件但是保留配置和缓存文件.
ls //列出当前目录下的文件,可以看到有一个后缀名为.apk的文件
adb install -r MoodeSMS_client-debug.apk //这是我的apk文件,根据具体情况而定

[size=medium]四,打开应用[/size]
adb shell am start -n  $packagename/$packagename.activity.MainActivity //这里名字要写正确了,实在不行就手动在设备上打开吧;adb shell命令是登录设备的shell;后面直接加命令是直接运行设备命令, 相当于执行远程命令

[size=x-large]注:[/size]
[size=medium]  也可以在www下touch一个后缀名为.sh的文件,把以上命令封装起来,方便下次使用(还可以在其中用echo'message'提示信息),前提是下次使用时要配置好信息后执行该文件.[/size]
[size=x-large]参考文献:[/size]
[size=medium]USB Vendor IDs:[/size][url]http://developer.android.com/tools/device.html[/url]
[size=medium]adb:[/size][url]http://developer.android.com/tools/help/adb.html#commandsummary[/url]

你可能感兴趣的:(杂文)