一. 手工修復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
固然喜歡折騰的同窗,能夠把這個插件繼續完善, 我懶得折騰了