实现了我自己的android库依赖项

时间:2018-06-16 17:15:10

标签: android android-appcompat android-library

我已经将 xten-framework Android依赖库创建到maven资源库中,并依赖于appcompat,RecyclerView和设计库的实现。当我使用依赖项中的模块项目构建和运行它时,它运行良好,没有任何问题。

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.xtensolutions.country:country-sdk:1.0.1'
    implementation project(':xten-framework')
}    

在maven存储库上部署之后,我从依赖项中删除了实现项目(':xten-framework'),并添加了 implementation'com.xtensolution.support:xten-framework:1.0。 build.gradle

中的0'
repositories {
    maven {
        url 'https://dl.bintray.com/myusername/maven/'
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.xtensolutions.country:country-sdk:1.0.1'
    implementation 'com.xtensolution.support:xten-framework:1.0.0'
}

当我编译项目时,我收到错误,包 android.support.v7.app.AppCompatActivity 不存在

我无法理解,为什么在我的库中找不到其他创建的类时,在我自己的库中找不到appcomapat包。我将错误地开发一个appcompat支持的库项目?我想补充什么?

如果有人能给我解决这个问题的正确解决方案,我将非常感激

1 个答案:

答案 0 :(得分:0)

在您的库中,如果您使用以下依赖项:

dependencies {
     implementation 'com.android.support:appcompat-v7:25.2.0'
}

将库用于另一个项目时,该项目将看不到 support:appcompat,因为它没有暴露给您的项目。因此,您需要将support:appcompat添加到您的应用模块中。

或者在您的库中使用api代替implementation,如下所示:

dependencies {
     api 'com.android.support:appcompat-v7:25.2.0'
}