如何在库中包含另一个库

How to Include Another Library within a Library

我制作了一个实现 androidx.annotation 的库,但是当我在应用程序中使用该库时,该应用程序无法解析 annotation

build.gradle(模块:图书馆)

dependencies {
    implementation 'androidx.annotation:annotation:1.0.0'
}

build.gradle(模块:应用程序)

dependencies {
    implementation project(':library')
}

MainActivity.java(应用程序)

import androidx.annotation.NonNull;

public class MainActivity extends AppCompatActivity {
    // ...

   @NonNull
   public String getString() {
       // ...
   }
}

每当我尝试 运行 应用程序时,它都会说找不到 class androidx.annotation.NonNull。我想在我的图书馆中加入 androidx.annotation。我该怎么做?

它不起作用的原因可能是您添加依赖项的方式。 Implementation 意味着该依赖项仅对库模块可用和访问,这解释了您面临此问题的原因。

改用api。这意味着依赖项也将对依赖于此模块的模块可用和可访问。

试试这个:

build.gradle(模块:图书馆)

dependencies {
    api 'androidx.annotation:annotation:1.0.0'
}