Пакет не существует при использовании отдельного приложения в качестве зависимости

Я пытаюсь скомпилировать приложение, используя отдельное приложение в качестве зависимости, но когда я компилирую ссылки на модули из этой библиотеки, я вижу несколько сообщений "ошибка: пакет не существует" и "ошибка: не удается найти класс символов" от graddle. Ниже приведены два моих файла сборки.

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 19
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    packagingOptions {
        exclude 'AndroidManifest.xml'
        exclude 'resources.arsc'
        exclude 'classes.dex'
    }
}

dependencies {
    repositories {
        mavenCentral()
    }
    compile 'com.android.support:support-v4:+'
    compile 'com.google.code.gson:gson:2.2.2'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:+'
    compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
    compile 'se.emilsjolander:stickylistheaders:2.+'
    compile 'com.googlecode.libphonenumber:libphonenumber:+'
    compile files('libs/crashlytics.jar')
    compile files('libs/httpclient-4.2.3.jar')
    compile files('libs/libphonenumber-5.9.jar')
    compile files('libs/mobileservices-0.2.0-javadoc.jar')
    compile files('libs/mobileservices-0.2.0.jar')
    compile files('libs/stringtotime-1.0.4.jar')
    compile files('libs/urbanairship-lib-2.0.2.jar')
    compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+'
    compile files('libs/FlurryAnalytics-4.0.0.jar')
    compile 'com.squareup.picasso:picasso:2.3.3'
    compile project(':wheel')
}

Зависимость gradle:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "kankan.wheel"
        minSdkVersion 5
        targetSdkVersion 7
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

}

Может кто-нибудь помочь / испытал это раньше? Android Studio не выделяет никаких проблем в классе, и я могу ctrl+ щелкнуть по ссылкам на упомянутые пакеты, что, кажется, означает, что он настроен правильно...

Спасибо!

5 ответов

Решение

У вас не может быть двух скриптов, использующих com.android.application плагин одновременно. Измените проект зависимости, чтобы применить плагин "библиотека".

Если этого не происходит, измените targetSdkVersion вашей зависимости на зависимость вашего основного проекта.

Раздел buildTypes не должен находиться в файле библиотеки build.gradle.

Если вы используете модуль библиотеки Android в качестве зависимости (то есть mylib), то убедитесь, что в файле app.iml вы видите следующую строку в конце файла:

    <orderEntry type="module" module-name="mylib" exported="" />

Попробуйте изменить min и target sdk на 11 и 19 в соответствии с конфигурацией gradle-default для зависимостей.

У меня была похожая проблема размещена здесь

Но я решил ее, используя предложение @Doge, я преобразовал проект android зависимостей в проект библиотеки.

Благодарю.

Другие вопросы по тегам