現在、プロジェクトを gradle ビルドの使用に切り替えようとしています。古いビルド システムを使用している間、ソースをコンパイルし、Android ライブラリの前に classes.jar ファイルをリンクすることで、プライベート/内部/非表示の Android API にリンクしました。私は現在、グラドルで同じことをやろうとしていますが、まったく運がありません。
現在の build.gradle ファイルでは、次のエラーが表示されます。
Gradle: A problem occurred evaluating project ':Launcher2'.
> Could not find method external() for arguments [file collection] on project ':Launcher2'.
「apply plugin: android」の前にこれらの行を削除すると、
dependencies {
compile files('libraries/classes.jar')
}
classes.jar ファイルにある com.android.internal および com.android.common パッケージが見つからないというエラーが表示されます。
これが私のbuild.gradleファイルです。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.6'
}
}
dependencies {
compile files('libraries/classes.jar')
}
plugin: 'android'
android {
buildToolsVersion "17.0"
compileSdkVersion 10
dependencies {
compile fileTree(dir: 'libraries', include: '*.jar')
compile project(':ActiveAndroid')
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
編集:gradleのドキュメントをもう少し読んだ後、ライブラリをプロジェクトに正常にリンクできましたが、依存関係の順序が間違っています。私がやろうとしているのと同じことは、両方の .jar ファイルをクラスパスの先頭に追加して、Android SDK jar ファイルの前に宣言することです。
Android gradle プラグインのソースを掘り下げていましたが、これは不可能なようです。コードが不完全なようで、ビルドされません。誰かが何か洞察を持っているなら、私は本当にそれを感謝します. そうでなければ、当面は Ant の使用に戻さなければならないようです。