我在android studio中有两个模块
域模块已添加到settings.gradle
和build.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模块中的 :
------------ 但 ----------
当我运行方法returnHi()
时它工作正常。
答案 0 :(得分:6)
首先在主项目文件夹settings.gradle
内提到图书馆
include ':app', ':domain'
并包括版本(如果可用),例如
include ':app', ':library-2.19.0'
现在位于路径app
下的MainProject>app>build.gradle
文件夹中包含
dependencies {
..........
compile project(':domain')
}
如果可用,请再次包含版本详细信息。查看 this 了解更多详情
根据评论,如果正确包含库,您可以再进行一次验证。清理和重建应该配置正确,但仍然只是确保Android Studio更新以下内容。
检查app.iml
是否包含模块
MainProject > app > app.iml
<component>
标签中应该有一个条目,如下所示
<orderEntry type="module" module-name="domain" exported="" />
编辑:
尝试在Toast
内运行runOnUiThread
消息。它应该解决错误。
答案 1 :(得分:3)
在构建项目之前,不要忘记在build.gradle中添加模块。
dependencies {
compile project(':domain')
}
然后在调用方法时传递当前的类上下文,如下所示。
new DomainUtils(YourClassName.this).toast("hi");
答案 2 :(得分:-1)
从文件settings.gradle添加完整路径模块。
包含&#39;:your_module&#39;
项目(&#39;:your_module&#39;)。projectDir = new File(settingsDir,&#39; absolute_path&#39;)。
absolute_path从文件夹容器settings.gradle
开始