把应用跑在android上

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

======无问题则跳过=======
①执行命令:

which adb

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

在打开的文件中添加(或修改)以下两行内容
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则说明配置成功

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

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

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

此时需要重新插拔一下连接线
adb devices

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

可以指定安装的名字:
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

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

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

在打开的文件中修改<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16"/>(这一行应该在最后)中的16为17
gedit project.properties

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

出现BUILD SUCCESSFUL则表示打包成功
三,安装应用到手机上

cd bin
adb uninstall -k $packagename //如果已经装过一次则要卸载,没有装过可以跳过;加-k参数,为卸载软件但是保留配置和缓存文件.
ls //列出当前目录下的文件,可以看到有一个后缀名为.apk的文件
adb install -r MoodeSMS_client-debug.apk //这是我的apk文件,根据具体情况而定

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

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

猜你喜欢

转载自stu-zhaoli.iteye.com/blog/2042767
今日推荐