LoginSignup
4
2

More than 5 years have passed since last update.

AndroidのEclipseプロジェクトをAndroidStudioでデュアル開発したい

Last updated at Posted at 2016-12-17

やりたいこと

  1. AndroidのEclipseプロジェクトを、そのまま環境をいじることなく、AndroidStudioで開発したい。
  2. ndk-build使用のNativeライブラリ(典型的には、上記プロジェクトに付随しているもの)をAndroidStudioのビルド環境に追加したい。

AndroidStudio 2.2.3、書いている時点で最新のコンパイル・ビルド環境を使用して説明しています。

AndroidStudioにインポートする

Eclipseで自動生成したものであれば、ルート直下に以下のbuild.gradleを落とし、AndroidStudioでインポートするだけです。環境に合わせて、適宜修正してください。

build.gradle
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
        androidTest.setRoot('tests')
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Nativeライブラリプロジェクトも一緒にインポートする場合は、後半の操作で生成されるexternalNativeBuild設定を最初から記述してインポートして構いません。

ndk-build使用ライブラリを追加する

ProjectツールウィンドウのAndroidビューで、モジュール(上記ケースでは、兼モジュールのプロジェクト)を右クリッックし、コンテキストメニューから[Link C++ Project with Gradle]を選択します。

Screen Shot 2016-12-17 at 9.47.20.png

Build Systemのプルダウンメニューで[ndk-build]を選択し、Project PathでAndroid.mkを指定します。同じディレクトリにApplication.mkがあれば一緒に取り込んでくれます。(典型的にはjniディレクトリ直下に2つそろってあるはず。)

Screen Shot 2016-12-17 at 9.48.34.png

正常に取り込まれれば、External Build Files グループに表示されます。

Screen Shot 2016-12-17 at 13.52.49.png

build.gradleを開くと、externalNativeBuild設定が追記されています。

build.gradle
android {
    externalNativeBuild {
        ndkBuild {
            path 'jni/Android.mk'
        }
    }
}

環境更新時は都度Gradleのsync と Build>Refresh Linked C++ Projectsを実行して同期をとります。

Build> Analyze APK...でAPKを開いてみると、ちゃんとライブラリが取り込まれているのが確認できます。

Screen Shot 2016-12-17 at 15.52.12.png

詳細は、プロジェクトへの C / C++ コードの追加を参照してください。

参考までに、NDK Rev.10あたりまでバンドルされていたHelloJniサンプルをデュアル環境化したものをここに置いておきます。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2