在这里记录自己碰到的调试相关问题。有时候可能是非常小的问题,但会折腾人好几天,非常不值。
1、Android Debug Bridge (adb)与wandoujia的端口冲突
在模拟器运行一个Android项目,提示如下:
The connection to adb is down, and a severe error has occured.
You must restart adb and Eclipse.
Please ensure that adb is correctly located at 'D:\Program Files\Android\android-sdk\platform-tools\adb.exe' and can be executed.
检查了一下,adb的路径在系统环境变量中,而且也可以启动。查询文档,发现adb使用5037端口,检查该端口,发现被wandoujia占用了,退出豌豆荚,然后重启eclipse,run as运行成功。可能其他连接Android手机的软件也值得提防。
2、真机调试时app不能访问sdcard
真机调试时,电脑及eclipse都可以访问sdcard,但运行在真机上的app反而不能访问sdcard。
经过搜寻得到答案:在android手机中设置usb连接为“仅充电”。
以小米1S手机为例:设置-->存储-->默认usb连接类型-->仅充电
3、NDK开发时需要设置的两个工具路径
google官网上关于NDK的介绍在http://developer.android.com/tools/sdk/ndk/index.html。里面介绍了创建build.xml的命令,该命令在项目文件夹的根目录下执行:
android update project -p . -s
不过这之前需要在系统的环境变量中设置android命令的路径:
path=其他路径;F:\DevTools\Android\adt-bundle-windows-x86-20131030\sdk\tools;
注意我的sdk和ndk开发环境放在“F:\DevTools\Android\”里面,并且我使用eclipse。
并且命令还需添加一个"--target"选项:
android update project -p . -s --target android-19
里面的“android-19”来自:
F:\DevTools\Android\adt-bundle-windows-x86-20131030\sdk\platforms\android-19
官网文档接下来介绍了NDK的编译命令,该命令在项目文件夹的根目录下执行:
ndk-build
不过在此之前需要在系统的环境变量中增加路径:
path=其他路径;F:\DevTools\Android\adt-bundle-windows-x86-20131030\sdk\tools;F:\DevTools\Android\android-ndk-r9c;
build之后,在项目文件夹的根目录下增加libs和obj目录,分别存放最终的so文件和中途的obj文件。
4、cygwin中编译ndk-build编译出错
提示如下:
$ $NDK/ndk-build
/usr/bin/gawk.exe: error while loading shared libraries: cyggmp-3.dll: cannot op en shared object file: No such file or directory
Android NDK: Host 'awk' tool is outdated. Please define NDK_HOST_AWK to point to Gawk or Nawk !
/cygdrive/d/DevTools/android-ndk-r10d/build/core/init.mk:377: *** Android NDK: A borting. 。 停止。
在网上搜到了答案,原因是ndk自带的awk.exe太旧,将其删除或改名即可。该文件在我的环境里面是这个目录:D:\DevTools\android-ndk-r10d\prebuilt\windows\bin
5、调试时找不到MX4手机
修改C:\Users\myname\.android\adb_usb.ini,在最后新增的一行中写:0x2a45
1、Android Debug Bridge (adb)与wandoujia的端口冲突
在模拟器运行一个Android项目,提示如下:
The connection to adb is down, and a severe error has occured.
You must restart adb and Eclipse.
Please ensure that adb is correctly located at 'D:\Program Files\Android\android-sdk\platform-tools\adb.exe' and can be executed.
检查了一下,adb的路径在系统环境变量中,而且也可以启动。查询文档,发现adb使用5037端口,检查该端口,发现被wandoujia占用了,退出豌豆荚,然后重启eclipse,run as运行成功。可能其他连接Android手机的软件也值得提防。
2、真机调试时app不能访问sdcard
真机调试时,电脑及eclipse都可以访问sdcard,但运行在真机上的app反而不能访问sdcard。
经过搜寻得到答案:在android手机中设置usb连接为“仅充电”。
以小米1S手机为例:设置-->存储-->默认usb连接类型-->仅充电
3、NDK开发时需要设置的两个工具路径
google官网上关于NDK的介绍在http://developer.android.com/tools/sdk/ndk/index.html。里面介绍了创建build.xml的命令,该命令在项目文件夹的根目录下执行:
android update project -p . -s
不过这之前需要在系统的环境变量中设置android命令的路径:
path=其他路径;F:\DevTools\Android\adt-bundle-windows-x86-20131030\sdk\tools;
注意我的sdk和ndk开发环境放在“F:\DevTools\Android\”里面,并且我使用eclipse。
并且命令还需添加一个"--target"选项:
android update project -p . -s --target android-19
里面的“android-19”来自:
F:\DevTools\Android\adt-bundle-windows-x86-20131030\sdk\platforms\android-19
官网文档接下来介绍了NDK的编译命令,该命令在项目文件夹的根目录下执行:
ndk-build
不过在此之前需要在系统的环境变量中增加路径:
path=其他路径;F:\DevTools\Android\adt-bundle-windows-x86-20131030\sdk\tools;F:\DevTools\Android\android-ndk-r9c;
build之后,在项目文件夹的根目录下增加libs和obj目录,分别存放最终的so文件和中途的obj文件。
4、cygwin中编译ndk-build编译出错
提示如下:
$ $NDK/ndk-build
/usr/bin/gawk.exe: error while loading shared libraries: cyggmp-3.dll: cannot op en shared object file: No such file or directory
Android NDK: Host 'awk' tool is outdated. Please define NDK_HOST_AWK to point to Gawk or Nawk !
/cygdrive/d/DevTools/android-ndk-r10d/build/core/init.mk:377: *** Android NDK: A borting. 。 停止。
在网上搜到了答案,原因是ndk自带的awk.exe太旧,将其删除或改名即可。该文件在我的环境里面是这个目录:D:\DevTools\android-ndk-r10d\prebuilt\windows\bin
5、调试时找不到MX4手机
修改C:\Users\myname\.android\adb_usb.ini,在最后新增的一行中写:0x2a45
重启adb等等
6、在Android Studio中获取sha1
如果是Mac环境:keytool -list -v -keystore ~/.android/debug.keystore