其他分享
首页 > 其他分享> > 无法从另一个模块调用方法:Android studio

无法从另一个模块调用方法:Android studio

作者:互联网

我在android studio中有两个模块

>标准的Android应用程序模块
>域模块

域模块已添加到settings.gradle和build.gradle中

包括’:mobile’,’:domain’&
 像这样分别编译项目(‘:domain’)

在域模块中我有一个这样的类:

public class DomainUtils {

    Context mContex;
    public DomainUtils(Context context){
        this.mContex = context;
    }
    public  void toast(String string){
        Toast.makeText(mContex, string,Toast.LENGTH_LONG).show();
    }
    public String returnHi(){
        return "hi";
    }
}

但是当我尝试调用新的DomainUtils(context).toast(“hi”)时;

从App模块中的一个类:

> DomainUtils中的方法不执行
>程序流程不会继续到调用类的下一行(程序流程停止“
>我没有在logcat中看到任何错误日志.

————但是———-

当我运行方法returnHi()它工作正常.

解决方法:

首先在Main Project Folder的settings.gradle中提到库

include ':app', ':domain'

并且包括版本(如果可用),例如

include ':app', ':library-2.19.0'

现在位于路径MainProject> app> build.gradle include下的app文件夹中

dependencies {
  ..........
  compile project(':domain')
}

如果可用,还包括版本详细信息查看 this 了解更多详情

根据评论,如果正确包含库,您可以再进行一次验证.清理和重建应该正确配置,但仍然只是确保Android Studio更新以下内容.

如果模块已包含,请检入app.iml

MainProject > app > app.iml

< component>中应该有一个条目.标签如下

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

编辑:

尝试在runOnUiThread中运行Toast消息.它应该解决错误.

标签:android,android-module
来源: https://codeday.me/bug/20190727/1551974.html