Eclipse ndk fix插件開發

一. 手工修復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


固然喜歡折騰的同窗,能夠把這個插件繼續完善, 我懶得折騰了





相關文章
相關標籤/搜索