web-dev-qa-db-ja.com

libsフォルダー内のJARファイルはAndroid Gradleビルドでは使用されません。

android向けのGradleビルドシステムで遊んでみました。

しかし、私は自分のプロジェクトの1つを構築できません。 libs /フォルダーのjarに依存します。

やっているgradle buildは、jarファイルのすべてのクラスが欠落しているため、compileDebugタスクで失敗します。

図書館プロジェクトです!これが私のbuild.gradleファイルです:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.2'
    }
}

apply plugin: 'Android-library'

Android {
    target='Android-16'
    sourceSets {
        main {
            manifest {
                srcFile 'AndroidManifest.xml'
            }
            Java {
                srcDir 'src'
            }
            res {
                srcDir 'res'
            }
            assets {
                srcDir 'assets'
            }
            resources {
                srcDir 'src'
            }
        }
    }
}

明らかなものがないのですか?

Goddchen

26
Goddchen

ちょうど自分自身で答えを見つけました:

Android Gradleプラグインの現在のバージョンはlibs /フォルダーでjarを検索しないため、自分で追加する必要があります。

dependencies {
    compile files('libs/mylib.jar')
}

または

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

これを次のようにAndroid名前空間に配置します。

Android {
    target = "Android-15"

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

解決策がどれもうまくいかなかった場合に備えて、*。jarへのパスを手動で指定することをお勧めします。

compile files('../<your-library-folder>/<your-library>.jar')

'../'パーツは、Gradleがルートプロジェクトフォルダ(アプリモジュールではない)からライブラリを検索することを意味します。

3
Paul Freez