一. 手工修复ndk环境bugphp
Eclipse作ndk开发的时候, 常常会遇到编译过去,却报语法错误的问题,好比html
①. 头文件不识别java
②. 头文件识别了, 类型不识别android
针对这一的bug,咱们通常按照以下方式能够进行修复git
1. 在eclipse中关闭指定Projectgithub
mac下显示全部文件api
显示:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏:defaults write com.apple.finder AppleShowAllFiles -bool falseapp
killall Finder (注意首字母大写)eclipse
2. 删除相关文件ide
用其余编辑工具打开该project的.project文件,删除如下内容:
①.删掉org.eclipse.cdt.managedbuilder.core.genmakebuilder开头的
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
........
</arguments>
</buildCommand>
②. 搜索org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
③. 删掉以下4项
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
④. 删除.cproject文件
3. 在eclipse里打开原来的project, refresh(选中工程F5),而后右键->properties->Android Tools -> Add Native Support
这一问题就能够解决了, 那么咱们下面开始编写插件, 将这个过程自动化
二. 插件开发
1. 建立菜单工程
新建plugin工程, 工程类型选择popup menu, 固然你可能须要以下的一些资料
a. 如何建立插件菜单工程 (初级)
http://blog.csdn.net/wangwei_cq/article/details/7736394
b. Eclipse建立多级菜单 (中级)
http://blog.csdn.net/jdzms23/article/details/7276238
c.Eclipse插件菜单深刻理解(高级)
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-menuext/
把objectclass修改为org.eclipse.core.resources.IResource(指代工程关闭以后能看到右键菜单)
org.eclipse.jdt.core.IJavaElement则是java工程项目能看到咱们的右键菜单
在dependencies中, 添加相关的包支持, 否则会报错误
恩,该配置的都差很少了,coding...
2. coding
懒得贴代码了,上传github,有兴趣的能够看看
我把打包的工程也一并上传了
插件是org.bingghost.ndkfix
传送门:
https://github.com/bingghost/ndkfix
3. 生成插件安装包
详细安装说明请看个人这篇笔记:
http://www.cnblogs.com/bingghost/p/6114290.html
三. 插件使用
1. 关闭ndk工程
选中指定的ndk工程, 右键, close project
2. 右键->ndk fix->start fix
3. Open Project
4. Refresh Project(快捷键F5)
5. android tools-> add native support
四. 遇到的问题
原本打算把这个插件功能作成全自动化, 个人思路是这样的
自动关闭选中project->ndk配置文件修复->open project->刷新project->add native support
固然是有方法的,可是最后我没有成功(第一步就卡住了), 下面说下个人思路
1. 咱们是能够调用Eclipse原有的功能的,经过下面的操做咱们查看Eclipse菜单的相关类
按下alt + shift + f2,对着项目鼠标右键,选择close project,弹出以下说明
那么咱们就能够用CloseResourceAction来关闭, 我编写了以下代码,
可是并无执行成功, 我猜想Shell获取的不对, 我网上找了半天的资料也没有找到(放弃了)
// close select project
IShellProvider provider = new IShellProvider() {
@Override
public Shell getShell() {
return Workbench.getInstance().getActiveWorkbenchWindow().getShell();
}
};
CloseResourceAction closeAction = new CloseResourceAction(provider);
closeAction.run();
关于刷新的,我找到一些资料以下
http://www.programcreek.com/java-api-examples/index.php?api=org.eclipse.ui.actions.RefreshAction
固然喜欢折腾的同窗,能够把这个插件继续完善, 我懒得折腾了