Package does not exist when using separate App as

2019-01-23 18:59发布

问题:

I'm trying to compile an App utilising a separate App as a dependency but when I compile referencing modules from this library I see several "error:package does not exist" and "error:cannot find symbol class" messages from graddle. The following are my two build files.

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')
}

Dependency 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'
        }
    }

}

Can anyone help/experienced this before? Android Studio does not highlight any issues in the class and I can ctrl+click through to the packages referenced which seems to mean it is set up correctly...

Thanks!

回答1:

You cannot have two gradle scripts using the com.android.application plugin at the same time. Change the dependency project to apply the 'library' plugin.

If that doesn't do it, change the targetSdkVersion of your dependency to that of your core project.



回答2:

The buildTypes section should not be in library build.gradle file.



回答3:

If you are using a Android library module as a dependency (i.e. mylib), then make sure in your app.iml file that you see the following line toward the end of the file:

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


回答4:

Try changing min and target sdk to 11 and 19 according in dependency gradle-default config.



回答5:

I had a similar issue posted here

But I got it resolved using @Doge's suggestion, I converted the dependency android project to library project.

Thanks.