包com.example.module.activity不存在

时间:2016-11-29 17:28:39

标签: android gradle

的build.gradle(APP)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "sampleapp.com.sampleapplication"
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        renderscriptTargetApi = 18
        renderscriptSupportModeEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }

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

ext {
    androidSupport = '25.0.1'
    junit = '4.12'
    espresso = '2.2.2'
    mockito = '2.2.26'
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile("com.android.support.test.espresso:espresso-core:$espresso", {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "com.android.support:appcompat-v7:$androidSupport"
    testCompile "junit:junit:$junit"
    compile project(path: ':samplemodule')
    testCompile "org.mockito:mockito-core:$mockito"
}

的build.gradle(模块)的

apply plugin: 'com.android.library'

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        renderscriptTargetApi = 18
        renderscriptSupportModeEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }

    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

ext {
    androidSupportLibrary = '25.0.1'
    espresso = '2.2.2'
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "com.android.support:appcompat-v7:$androidSupportLibrary"
    testCompile 'junit:junit:4.12'
}

我收到以下错误:

Error:(5, 45) error: package com.example.module.activity does not exist

推荐以下所有帖子:

Android Studio library “error: package does not exist”

Why do packages from library module does not exist upon compilation, even when Android Studio shows no errors in code?

Package does not exist when refrencing a java module Android Studio 1.0.1

Package does not exist when using separate App as a dependency

我做错了什么?

2 个答案:

答案 0 :(得分:1)

如Rohit所述," minifyEnabled true"说得通。 似乎ProGuard默认删除了库AAR中的所有内容。应正确填写Proguard规则配置文件,以便从主应用程序模块引用类。例如:

-keep public class you.library.package.name.** {
    public protected *;
}

答案 1 :(得分:0)

我发现了这个问题:

 buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

当我设置miniFyEnabled false时,我的问题得到解决。这太奇怪了,因为这是为发布版本类型指定的,我正在调试应用程序。