1

サブプロジェクト lib をメイン プロジェクトに含めることは既に成功していますが、サブ プロジェクト lib をビルドできないようで、スクリプトにインポートできません。

すべてをビルドした後、ディレクトリ/build/exploded-bundles/を調べると

MyAndroidProjectStickyScrollViewItemsUnspecified.aarComActionBarSherlockAxtionBarSherlock440.aarが見つかりました。どちらも同様のディレクトリ構造を持ち、次のものが含まれています。

  • アセット(dir)、
  • 解像度(ディレクトリ)、
  • AndroidManifest.xml
  • classes.jar、および
  • R.txt

このような

MyAndroidProject
|- .idea
|- MyAndroid
|  |- build
|  |  |- exploded-bundles
|  |  |  |- ComActionBarSherlockAxtionBarSherlock440.aar
|  |  |  |- MyAndroidProjectStickyScrollViewItemsUnspecified.aar
|  |  |     |- assets
|  |  |     |- res
|  |  |     |- AndroidManifest.xml
|  |  |     |- classes.jar
|  |  |     |- R.txt
|  |  |- res
|  |  |- sources  
|  |- src
|  |- build.gradle
|  |- MyAndroid.iml
|- gradle
|- project-lib
|  |- StickyScrollViewItems
|     |- build
|     |- src
|     |  |- main
|     |     |- gen
|     |     |  |- com.emilsjolander.components.stickyscrollviewitems
|     |     |     |- BuildConfig.java
|     |     |     |- Manifest.java
|     |     |     |- R.java
|     |     |- java
|     |     |  |- com.emilsjolander.components.stickyscrollviewitems
|     |     |     |- StickyScrollView.java
|     |     |- res
|     |     |- AndroidManifest.xml
|     |- build.gradle
|     |- StickyScrollViewItems.iml
|- build.gradle
|- MyAndroidProject.iml
|- gradlew
|- gradle.bat
|- local.properties
|- settings.gradle
...

ただし、ComActionBarSherlockAxtionBarSherlock440.aarの classes.jar には次のパッケージが含まれています。

  • android.support.v4.app
  • com.actionbar.sherlock
  • メタINF

MyAndroidProjectStickyScrollViewItemsUnspecified.aarのclasses.jar が空です

ここでは、ルート プロジェクトの settings.gradle

include ':MyAndroid', ':StickyScrollViewItems'

project(':StickyScrollViewItems').projectDir = "$rootDir/project-lib/StickyScrollViewItems" as File

ここで MyAndroid の build.gradle

import groovy.transform.Field

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 18
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.squareup.picasso:picasso:2.1.1'
    compile 'com.github.snowdream.android:android-async-http:0.0.2'
    compile 'de.greenrobot:greendao:1.3.2'
    compile project(':StickyScrollViewItems')
}

ここに StickyScrollViewItems の build.gradle があります

import groovy.transform.Field

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android-library'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "17.0.0"
    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 18
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
}

使えるようにするにはどうすればいいですか

import com.emilsjolander.components.stickyscrollviews.R;
4

1 に答える 1

1

何を達成しようとしているのかは不明ですが、ほとんどの場合、ライブラリ プロジェクトの代わりに @aar パッケージを使用する必要があります。

settings.gradle

include ':MyAndroid'


\MyAndroid\build.gradle

dependencies {
    compile 'se.emilsjolander:StickyScrollViewItems:1.0.0'
}

このライブラリのリソースはありません:

ここに画像の説明を入力

ただし、ライブラリをmaven依存関係として追加すると、クラスは空ではありません。それが助けになるかどうかを確認してください。

ここに画像の説明を入力

ライブラリ ソースを変更する必要がある場合は、ライブラリ ソースを更新するよりも、作成者が最近 gradle サポートを追加したようです。

于 2013-11-04T09:59:49.710 に答える