5

我在 android studio 中有两个模块

  1. 标准安卓应用模块
  2. 域模块

域模块已添加到settings.gradlebuild.gradle

include ':mobile', ':domain'& compile project(':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";
    }
}

但是当我尝试打电话时 new DomainUtils(context).toast("hi");

来自App 模块中的一个类:

  1. DomainUtils里面的方法不执行
  2. 程序流不会继续到调用类中的下一行(程序流停止”
  3. 我在 logcat 中看不到任何错误日志。

------------但是----------

当我运行该方法时returnHi(),它工作正常。

4

3 回答 3

6

首先在主项目文件夹中settings.gradle提到库

include ':app', ':domain'

并包括可用的版本,例如

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

现在app在路径下的文件夹内MainProject>app>build.gradle包括

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

如果可用,请再次包含版本详细信息。查看以获取更多详细信息

根据评论,您可以再验证是否正确包含库。清理和重建应该正确配置,但仍然只需确保 Android Studio 更新了以下内容。

检查app.iml模块是否已包含在内

MainProject > app > app.iml

<component>标签中应该有一个条目,如下所示

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

编辑 :

尝试在Toast里面运行你的消息runOnUiThread。它应该解决错误。

于 2017-05-26T09:19:46.710 回答
3

在构建项目之前,不要忘记在 build.gradle 中添加模块。

dependencies {

  compile project(':domain')
}

然后在调用该方法时传递当前类上下文,如下所示。

 new DomainUtils(YourClassName.this).toast("hi");
于 2017-05-26T09:48:11.733 回答
-1

从文件 settings.gradle 添加完整路径模块。

包括 ':your_module'

project(':your_module').projectDir = new File(settingsDir, 'absolute_path').

absolute_path 从文件夹容器 settings.gradle 开始

于 2017-05-26T09:09:29.590 回答