gpt4 book ai didi

android - 在我的特殊情况下,logcat 不显示来自库项目的日志

转载 作者:太空狗 更新时间:2023-10-29 15:02:43 25 4
gpt4 key购买 nike

我有三个 Android 项目:BaseLibProjectMainLibProjectAppProject

这三个Android项目的关系是:

  1. BaseLibProjectMainLibProject 使用的库项目。

  2. MainLibProject使用BaseLibProject作为库工程,生成MainLib.jar(使用maven构建)

  3. 生成的 MainLib.jar 被添加到 AppProjectlibs/ 文件夹中,同时也被添加到 AppProject 的构建路径中strong>AppProject。

下一步:

BaseLibProject 中的一个简单类:

public class BaseLibClass {
public static String doBaseTask() {
Log.i("MyLog", "doBaseTask..."); //I can't see this log
return "Result from Base!";
}
}

MainLibProject 中定义函数的简单类调用 BaseLibProject 中的函数:

public class MainLibClass {
public static void doMainTask() {
Log.i("MyLog", "doMainTask..."); //I can see this log in logcat
String result = BaseLibClass.doBaseTask();
Log.i("MyLog", "result = " + result); //I can see the result log
}
}

最后,在我的 AppProject 中,我简单地调用了 MainLibProject 的上述函数(记住我有 MainLib.jar):

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

MainLibClass.doMainTask();
}
}

我使用命令 adb logcat -s MyLog:* 启动了 logcat。当我运行我的 AppProject 应用程序时,logcat 显示

I/MyLog(2039): doMainTask...
I/MyLog(2039): result = Result from Base!

根据上面的日志,BaseLibProject 中的代码正在运行(因为我从 BaseLibClass 得到了结果),但是它没有显示来自 BaseLibProject 的任何日志,为什么???

(我在 internect 上搜索过,有人通过重新启动 eclipse 解决了类似的问题,但就我而言,它没有帮助。此外,我正在检查来自终端的日志,而不是来自 eclipse 的日志。)

最佳答案

好吧,我终于解决了这个问题。

原因是在BaseLibProject pom.xml中,我定义了<packaging>apk</packaging> ,而在 MainLibProject pom.xml 中,当我定义 BaseLibProject 的依赖项时,我没有指定 <type>的神器。

在我将 BaseLibProject 的 pom.xml 更改为 <packagin>apklib</packaging> 之后并在 MainLibProject 的 pom.xml 中指定了 BaseLibProject 的依赖项 <type>apklib</type> .我能够在 BaseLibProject 中看到日志。

关于android - 在我的特殊情况下,logcat 不显示来自库项目的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24866116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com