2013-04-04 68 views
0

我正在使用Salesforce SOAP API执行简单的登录和注销程序。我遵循示例代码http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_login.htmAndroid ADT 21 NoClassDefFoundError

此代码在桌面上正常工作。

然后,我根据我的WSDL文件和wsc.jar将它移植到带有生成的jar文件(它是sforce-client.jar)的Android应用程序。

然而,当我运行它,我得到了下面的错误,

找不到类 'com.sforce.soap.enterprise.EnterpriseConnection'

从方法引用salesforceAccess.SalesforceAccess.login

你有什么想法是什么原因以及如何解决它?

非常感谢您的帮助。

阿达

+0

我试图按照[此链接](http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17)。但是,NoClassDefFoundError仍然存在!预先感谢您的任何帮助! – 2013-04-05 17:54:10

回答

0

最后,我解决了这个问题!

的步骤是, 1.建立从github.com/forcedotcom/wsc正确WSC-xxx.jar文件(谢谢你,Superfell!) 2.使用上述WSC-XXX生成从WSDL jar文件。罐。注意:使用jdk1.6生成目标1.6 jar。 (或任何与Android SDK级别相匹配的!!) 3.将jar导入到Android项目中。

我被卡住了,因为我使用jdk1.7来生成jar文件。但是,像这个线程(Android emulator crash: "Dx bad class file magic"/ClassNotFoundException on startup?)所说的,Android SDK级别是1.6(我试图改为1.7,项目将无法编译)。因此,从wsdl生成的jar文件将无法打包!

日食和ADT不给我任何警告或错误告诉我。我必须建立在命令行(见http://randomsamples.info/blog/phil/android-adt-2101-javalangnoclassdeffounderror-rdimen)的Android项目,并注意到了警告,

[dx] trouble processing: 
     [dx] bad class file magic (cafebabe) or version (0033.0000) 
     [dx] ...while parsing com/sforce/soap/enterprise/EnterpriseConnection.cla 
ss 
     [dx] ...while processing com/sforce/soap/enterprise/EnterpriseConnection. class 

什么的过程!

2

你的jar文件添加到“库”目录和属性下勾选“排序和导出”复选框?

+0

是的,我做到了。查看项目属性和资源管理器的快照https://sphotos-b.xx.fbcdn.net/hphotos-prn1/644346_118986294963501_2138676426_n.jpg – 2013-04-05 21:50:28

+0

“订单和导出”复选框为我做了诀窍! – kR105 2013-07-15 00:41:35

0

如果您遵循了从WSDL构建jar的默认说明,那么您需要将生成的jar和用于生成jar的wsc.jar添加到您的android libs文件夹中。从错误它听起来像你错过了你用来生成你的jar的wsc.jar。 或者你可以在生成你的jar时设置-Dstandalone-jar=true作为一个选项,然后所有东西都会在那个生成的jar中。

+0

Superfell,我确实在路径中有wsc.jar(参见图片https://sphotos-b.xx.fbcdn.net/hphotos-prn1/644346_118986294963501_2138676426_n.jpg)。我对wsc.jar文件中定义的类(ConnectionConfig)没有任何问题。 – 2013-04-05 23:36:56

+0

然后你错过了从wsdl生成的jar。 – superfell 2013-04-05 23:49:47

+0

我刚刚通过这个wsc v27,它很好。 – superfell 2013-04-05 23:50:04