Android 从库(jar)调用方法

Android 从库(jar)调用方法,android,Android,我试图了解Android中的库用法。所以我创建了一个非常简单的库并将其导入到我的项目中。我想从MyOperations.jar(库文件)调用方法cubeOf()。没有生成错误,但在我运行时应用程序意外停止 MainActivity.java类(在MyApplication中): MyOperations.java类(在MyLibrary中): 解决了感谢您的回复,我通过更改解决了问题。 tv1.setText(a); 与 tv1.setText(String.valueOf(a));

我试图了解Android中的库用法。所以我创建了一个非常简单的库并将其导入到我的项目中。我想从MyOperations.jar(库文件)调用方法cubeOf()。没有生成错误,但在我运行时应用程序意外停止

MainActivity.java类(在MyApplication中):

MyOperations.java类(在MyLibrary中):

解决了感谢您的回复,我通过更改解决了问题。

    tv1.setText(a);

 tv1.setText(String.valueOf(a));

在您的情况下,您使用
a
作为R.string的索引,如果它不存在,将抛出
ResourceNotFoundException
,您没有提到应用程序崩溃的原因。我认为可能有两个问题:

1在上述黑带答案的基础上增加: 您可以简单地使用:

put setText(“+a”)

因此,将“a”用作数字与字符串并不存在混淆

2您可能存在生成路径问题。 看看这个答案:

如果您有一个相当新版本的Eclipse/ADT,那么该文件夹应称为“libs”,否则该文件夹称为“lib”(Eclipse/ADT TBD)


另外,“Java构建路径”->“Order And Export”确保您正在检查外部库,尤其是从不同的包进行检查。

因此,为了确认先前的响应,您在
onCreate中尝试了这两个更改?就是

    int a = MyOperations.cubeOf(8); // Just a random number
    tv1.setText(String.valueOf(a));
  • 静态调用静态方法(甚至不要
    new
    a
    MyOperations
  • 将字符串传递给setText

  • 作为静态方法的cubeOf应该以静态方式访问:MyOperations.cubeOf()。@GoranHoriaMihail我编辑过,但仍然存在相同的问题。如果应用程序崩溃,你应该在控制台中有某种堆栈跟踪;如果没有问题,请将其作为详细信息发布到此处。@SpacePope感谢您的建议,我已将日志错误添加到帖子中。谢谢,但没有任何更改。是的,我已创建了这两个错误。是的,我正在使用最新版本。您是否选中了在“订单和导出”选项卡中将库标记为导出?实际上,您使用的是参考项目还是编译的.jar版本?您是否从库项目导出了类?您是否有一个s ky pe ac帐户?我可以提供几分钟的支持。
     tv1.setText(String.valueOf(a));
    
        int a = MyOperations.cubeOf(8); // Just a random number
        tv1.setText(String.valueOf(a));