Eclipse软件问题-方案积累
环境Ubuntu14.04 + ADT v22.2.1-833290
ADB连接小米手机
学习需要,换了部红米1s,系统4.3,激活开发者模式(" 设置 ==> 关于手机, 连续单击4次"Android版本" )后,Eclipse还是无法识别,需进行额外的操作:
备注:以下方法在 "ADT-bundle-******/sdk/docs/tools/device.html"内有记录,不过我操作的时候还额外加了一步step6;
- 打开terminal,利用lsusb命令,通过拔插数据线的方式,找到手机的id,我这里是2717:
- 修改rules文件(文件名貌似随意命名):
sudo gedit /etc/udev/rules.d/51-android.rules
在文件内添加如下内容:
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev"
网上文章介绍的填入:
SUBSYSTEM=="usb", SYSFS{idVendor}=="2717", MODE=="0666" SUBSYSTEM=="usb_device", SYSFS{idVendor}=="2717", MODE=="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTR{idProduct}=="1268", SYMLINK+="android_adb"
据说是兼容旧版本系统,没细究;
- 赋予权限:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
- 重启udev服务:
sudo service udev restart
- 重启adb(adb命令已添加到环境变量中,或者执行切换到"ADT-bundle-***/sdk/platform-tools"目录下运行adb命令):
adb kill-server adb devices
若看看List of devices attached下有真机设备出现,则完成,否则进行第6步:
- 修改" ~/.android/adb_usb.ini"文件:
cd ~/.android/ ls gedit ./adb_usb.ini
在ini文件中添加你的id(第一步lsusb找到的):
- 重复第5步就可以看到设备了;
关于红米1s的root,下载root文件(win系统使用),解压后运行bat文件,根据提示操作,手机重启(音量键+电源键)后,选择"高级选项==>获取root权限",ok后重启即可:
DDMS读取真机/data目录
比较常用到/data目录,但是默认DDMS读取不了,原因是权限不够,步骤:
- root手机
- 设置/data目录读取权限(仅有一部真机设备时):
adb -d shell su chmod 755 /data
注意:运行su命令后,记得查看手机,会提示是否授权,确定即可;755分别表示owner/group/others三种用户的对该文件/目录的权限;
若有多个手机/模拟器存在:
//获取当前连接的设备标识 adb devices adb -s <specific device> shell
其他命令同前;
另外,貌似andorid不支持递归赋权(chmod -R提示出错),每个目录得单独手动设置,有点麻烦;
Eclipse添加GBK支持
- 修改/var/lib/locales/supported.d/local,添加
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
- 重新配置:
sudo dpkg-reconfigure --force locales
应该会有如下界面,完成ubuntu的gbk支持:
- eclipse添加gbk支持:
菜单 " Windows ==> Preferences ==> General ==> Workspace ==> Text File encoding ==> Other " 选择GBK(若无该选项,则直接输入),apply ==> ok;
Eclipse 无代码提示
莫名其妙编辑xml文件的时候没有提示了,alt+/也不管用,只好重新设置了下:
当然,首先是确保快捷键无冲突,在" window ==> preferences ==> general ==> keys " 下在查找"alt + /" ,若对应的功能不是" content assist"的话(我初始是word completion),则解绑,并重新绑定到代码补全功能上,并保证该快捷键组合只对应一个功能;
之后,确保以下设置正确:
这里未勾选导致都不提示(缩略词提示(如syso)依然存在);
对于xml的代码提示:
将 " Windows ==> Preferences ==> XML ==> XML Files ==> Editor ==> Content Assist " ,修改"prompt when these characters are inserted ",默认为"<=:",改成:
我不喜欢敲代码的时候还要按快捷键去开启提示,所以直接26个字母都提示;
<=:.abcdefghijklmnopqrstuvwxyz(,
我不喜欢敲代码的时候还要按快捷键去开启提示,所以直接26个字母都提示;
顺带的,对于java代码也是如此:
" Windows ==> Preferences ==> Java ==> Editor ==> Content Assist" ,修改"Auto activation trigger for Java",默认为".",修改为:
" Windows ==> Preferences ==> Java ==> Editor ==> Content Assist" ,修改"Auto activation trigger for Java",默认为".",修改为:
.abcdefghijklmnopqrstuvwxyz
这样输入任意小写字母都会有提示出现,不过我的快捷键组合"alt+/"依然失效,想来应是冲突了:
- " Windows ==> Preferences ==> General ==> Keys " 在右侧列表中找到"Word Completetion " ,其快捷键若是" alt + / ",则解绑;
- 找到" Content Assist "设置其快捷键为"alt + /"
总之确保快捷键不冲突;
添加库文件失败
给项目添加库文件(" Properties ==> Android ==> Library")一直失败,提示:***/gen already exists but is not a source folder. Convert to a source folder or rename it在"java build path"中重新添加下gen/src目录就可以了,不行eclipse restart一下:
Right click on the project and go to “Properties” Select “Java Build Path” on the left Open “Source” tab Click “Add Folder…” Check “gen” folder and click Ok and Ok again Again right click on the project and in the “Andriod Tools” click on “Fix Project Properties”
启动错误
因工作需要在windows下下载了个64位的J2EE的eclipse,开启后一直停留在启动画面,报如下错误:- Failed to load the JNI shared library jvm.dll
原因1:该目录下缺少jvm.dll文件,copy一个进去就可以了;
原因2:jdk与eclipse版本不一致,二者必须同时是32位或64位的,这是我碰到的情况,重新安装一下64位jdk就ok了; - Error: The Eclipse executable launcher was unable to locate its companion launcher jar
方法1:重新解压eclipse;
方法2:在eclipse目录下修改eclipse.ini,删除如下两句并重启eclipse即可:
-startup plugins\org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar
Ctrl+左键弹出的菜单项问题
习惯于通过该快捷键来快速跳转到方法或者xml文件,但是有时候弹出的上下文菜单中第一项是指向R文件,操作上有些不方便,尤其是赶时间的时候,突然这么跳转"错误",还真让人恼火,如下图:
调整顺序的方法我没找到,不过可以直接把第一项open declatation去掉:
" window ==> preferences ==> general ==> editor ==> hyperlinking" 把右侧列表中找到" open declatation"项,取消勾选,确定即可:
备注:直接取消open declation的话,就无法通过ctrl+左键进入类了,虽然可以用F3来代替,但还是不太方便,这个问题就继续保留吧.功能键F3也是用来进入方法的,功能与ctrl+左键类似,并且通过alt + ← 来返回到该方法的调用点;
修改代码注释格式(插入日期,作者名等内容)
开始接触svn,与人协作做项目,不可避免需要标明改动时间修改者等信息,默认的格式无法满足要求,需要简单做下修改:在文档注释中插入时间信息:
" window ==> preferences ==> java ==> code style ==> code temmplates" ,选择右侧上方的 "comments ==> types ",并单击" edit"按钮,就可以在文档级注释中添加自己想要的内容,如加入时间信息" @date
"通过" insert variable " 选择date,就可以自动添加当前日期了:
其他的注释类似;
修改时间注释格式
我的是英文系统,生成注释的时候默认格式形如" sep 15, 2014 ",若要改成中文格式,需要修改eclipse.ini,在-vmargs下方添加/修改如下语句:
-Duser.language=zh-cn
若要修改成其他格式,请参考该文;
修改作者名字
如上图中的author属性值默认是系统的登录名,有时候不方便直接修改它,需要通过其他方式来表明代码作者,通常还有以下两种方法:
- 直接在上图中的@author后面写上自己想要的名字;
- 修改eclipse所在目录下的配置文件eclipse.ini,在-vmargs下方添加一句:
-Duser.name=your name
注意等号前后不要有空格,保存之后,重启eclipse;