无法从另一个模块调用方法: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