EclipseでNDKを外す方法 – Android

今更Eclipse!

引き継ぎ案件で、NDKで対応している箇所を外す必要があったのでやってみました。

参考はこちら
http://stackoverflow.com/questions/11504258/how-to-remove-native-support-from-an-android-project-in-eclipse-because-eclipse#answer-23804805
http://pilcrowpipe.blogspot.jp/2011/12/removing-native-support-from-android.html

まずはNDKを使ってないプロジェクトには無い、プロジェクト直下のデータを削除

  • 「.cproject」ファイルを削除
  • 「jni」フォルダを削除
  • 「ndk」フォルダを削除
  • 「obj」フォルダを削除
  • 「lib」フォルダを削除
  • 「bin」フォルダの中身を削除

※「.cproject」ファイルがなかったり、「.externalToolBuilders」フォルダーがあるケースもあり?
※もちろん「libs」フォルダは消しちゃダメ、libs内に関連ライブラリがあったらそれは消してもいい

 

プロジェクト直下の「.project」ファイルを編集

  • 「buildCommand」タグを2つ削除
    • 「name」が「org.eclipse.cdt.managedbuilder.core.genmakebuilder」
    • 「name」が「org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder」
  • 「nature」タグを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>

 

プロジェクトをEclipseから削除して、再度import。
当然、削除の時にプロジェクトのデータは削除しない。

あと、当たり前だけど、これをやる前に、ちゃんとNDKで使ってる機能は外すこと。

public static native int hogehoge();
static {
    System.loadLibrary("iconv");
    System.loadLibrary("cri_file_system");
}

こんなソースがあったらNDKをロードしてるので、ちゃんと外しましょう。