把应用跑在android上
一,通过usb连接Android设备
adb devices //可以列出所有可用的安卓设备,若有问题尝试以下解决,若无问题则跳过
======无问题则跳过=======
①执行命令:
which adb
如没有出来一个目录,则可能androidSDK配置有问题,解决如下:
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则说明配置成功
②执行adbdevices后出来一串问号,则可能不能识别该设备
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-sdkandroid:minSdkVersion="7"android:targetSdkVersion="16"/>(这一行应该在最后)中的16为17
gedit project.properties
在打开的文件中修改"target=android-16"中的16为17
adb clean ant debug
出现BUILDSUCCESSFUL则表示打包成功
三,安装应用到手机上
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'提示信息),前提是下次使用时要配置好信息后执行该文件.
参考文献:
USBVendorIDs:http://developer.android.com/tools/device.html
adb:http://developer.android.com/tools/help/adb.html#commandsummary