今天APP集成支付宝无线支付,demo的代码结构挺清晰,但集成过程中发现,
05-04 07:15:09.710: E/AndroidRuntime(825): FATAL EXCEPTION: main
05-04 07:15:09.710: E/AndroidRuntime(825): java.lang.NoClassDefFoundError: com.alipay.android.appDemo4.MobileSecurePayer$2
类没找到;涉及到的JAR也只有一个alipay_msp.jar,放在lib目录下,代码无编译错误的;
琢磨良久,对比DEMO中的代码结构;发现:此jar是在android dependencies下(工程目录为LIBS下);于是乎网上找了相关资料:
jars包导入问题解决办法:
在ADT17之前,如果要在Android项目中引入外部JAR包,只需在项目属性的Java Build Path中选择Add External JARs,然后选择相应JAR包即可。但是,在升级到ADT17之后,Android项目下多出了一个Android Dependencies目录,之前通过Add External JARs加入的jar包依然出现在Referenced Libraries目录之下,但是似乎已经被弃用,虽然没有提示任何错误,但是在运行时会抛出ClassNotFoundException。解决方法是 将JAR包加入到Android Dependencies下,其中一个默认引入目录是libs,因此只要将JAR包复制该目录下。步骤为: 看看项目中已经是否有Android Dependencies目录了,
无:则按照上面的办法建立此目录。
有:则在项目中新建libs目录,然后将要导入的jar包直接拷贝到此目录下。之后Android Dependencies目录下将会自动加入jar包。
刷新启动后问题解决;特以此记之!