【发布时间】:2018-10-24 18:27:42
【问题描述】:
package 1; // this is a dependency library
public class A{
public String getName(){
return "In func getName, class A";
}
}
-------------------------------------------
package 2; // this is the library which I am building
import 1;
public class B extends A{
}
----------------------------------------------
package 3; // this is the app which is using the library which I am building
import 2;
public class C {
B b = new B(); // throws error here, says "Cannot access A"
b.getName();
}
这会引发错误B b = new B();
我不确定这里有什么问题,这应该可以正常工作吧?
我正在构建一个库,我正在从依赖库类扩展一个类。现在我正在使用我在应用程序中构建的库,当我尝试访问继承的类时,它会引发错误。
我在我正在构建的库中添加了如下依赖库
implementation ':dependencyLibrary'
在应用程序中使用我的库
include ':mylibraryName'
implementation project(':mylibraryName')
我只是不希望应用可以访问“dependencyLibrary”
【问题讨论】:
-
你应该提到确切的异常抛出 - 帮助别人帮助你。
-
说“无法访问 A 类”
-
你给出的例子工作得很好。请检查您的目录结构以确保您的文件位于正确的目录中。
-
不是继承问题。这是关于在不包括
dependencyLibrary的情况下访问课程。在android中,当您从library生成aar时,它不会包含'library中包含的依赖模块的来源。有两种方法可以做到这一点。第一个是,您可以生成fat aar,它同时具有library和dependencyLibrary的来源。第二个是,您必须在app中包含dependencyLibrary以及您的library。如果没有这两种方法,绝对不可能做到这一点。
标签: java android oop inheritance android-library