きょこみのーと

技術に関係ないほうのブログ

Android StudioでjsonPullParserを使う

はじめに

コマンドラインベースで、gradle buildでして動かすのは簡単だったけど、AndroidStudio上でjsonPullParserのソースを認識させるのに苦労しました。。。

jarファイルをプロジェクトに突っ込んでライブラリとして認識させればいいのはわかってるけど、せっかくmavenリポジトリを参照するbuild.gradle書いてるため、ちゃんとやりたかったので色々奮闘しました。

mavenリポジトリをGlobal Librariesに追加

 File > Other Settings > Default Project Structure

f:id:kyokomi:20131215232107p:plain

Global Libraries > 「+」> From maven で検索フォームに「jsonPullParser」と入力して検索。

f:id:kyokomi:20131215232121p:plain

最新バージョンを選ぶ。

f:id:kyokomi:20131215232111p:plain

Download to:は未入力だとデフォルトにいくのでそのままで、SourcesとJavaDocsにチェックを入れて「OK」ボタンを押す。

これで無事取り込めた。

aptの方はAndroid Studio上でコーディングする分には関係ないけどとりあえずいれておく。

build.gradleを修正

android-aptプラグインという素敵なプラグインがあるので追加します。 http://code.neenbedankt.com/gradle-android-apt-plugin/

file: HogeProject/build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.0'  // add : ★aptをbuildscriptに追加
    }
}
apply plugin: 'android'
apply plugin: 'android-apt' // add : ★apt用のプラグインを呼び出す

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
    buildTypes {
        release {
            runProguard false
            proguardFile getDefaultProguardFile('proguard-android.txt')
        }
    }
    productFlavors {
        defaultFlavor {
            proguardFile 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'net.vvakame:jsonpullparser-core:1.6.2' // add : jsonPullParserのcoreをdependenciesに指定する
    apt 'net.vvakame:jsonpullparser-apt:1.6.2' // add : ★aptをdependencies指定する
}

こんな感じでjsonPullParser-coreがでてくればOK!

f:id:kyokomi:20131215232123p:plain

importできますた。

f:id:kyokomi:20131215232125p:plain

ばっちりソースジャンプできます。

f:id:kyokomi:20131215232115p:plain

もし、上記の流れでうまく出てこない場合は、一回ビルドしてみるといいかもしれません。

それでもダメだったらAndroid Studioを再起動するといいかもしれません。

慣れてるeclipseでやればいいのはわかるけど、せっかくなのでAndroidStudioでやりたいやん( ^ω^)

ってかアプリ作る予定だったのに。。。これで2,3時間もハマったよ!!OTL