AndroidStudioではメニューから「File→New→AIDL」でAIDLを追加すると自動的にAIDL用のフォルダが追加されるが、手動でEclipseからAndroidStudioに移行した時にAIDLの追加ができずちょっとハマったので設定方法をメモっておく。
ちなみにAndroidStudioのメニューから追加してもビルド設定までは自動的に追加してくれなかったので、build.gradleの設定はどっちみちいるっぽい(AndroidStudio 2.0previewで確認)
main/aidlフォルダを作る
AndroidStudioのメニューからAIDLを選択して追加した場合、自動的にmain以下にaidlフォルダが作成されて、その中にAIDLファイルが保存される。
main/src以下の任意のパッケージにAIDLを追加すると、main/aidlの方にも対応したパッケージ構成が作成されて、srcに対応したパッケージに自動で追加してくれるので非常に便利。
ただしこのままではAIDLファイルがビルド対象にならないため、以下のようにAIDLのビルド対象フォルダをbuild.gradleで指定する必要がある。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.callittips.gyro_s.unittestsample" minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" } // 中略 sourceSets { main { aidl.srcDir 'src/main/aidl' } } } |
Eclipseからの手動移行時に元のフォルダ構成のまま移行したため、aidlフォルダを追加するという発想に至らず小一時間ほどハマった。
ちなみにaidl.srcDir
には任意のフォルダが指定できるようなので、aidl.srcDir 'src/main/java'
と記述すればmain/java
以下(=ソースフォルダと同じ位置)に配置してもうまくビルドできた。が、基本的には標準に準拠してaidlフォルダを追加するほうがファイルの一覧性もよく他人が見ても理解しやすいため、標準の構成にしておくのが無難でしょうね。
build.gradleに上記の設定を追加してビルドすると、generatedフォルダの下にAIDLのビルド結果が生成される。