2015-01-09 56 views
0

我正在開發一個Android應用程序,使用不同的社交媒體APIs包括Facebook,Twitter,LinkedIn。我正嘗試從一個應用程序管理這三個帳戶。我已經將twitter和LinkedIn以及Facebook API作爲.jar文件加入,並且還參考了Facebook S.D.K。但是當我在模擬器中運行應用程序時,它會給出奇怪的verifyError,並且不會顯示錯誤出現的位置。與社交媒體Android應用程序VerifyError

我的LogCat堆棧跟蹤如下;

01-09 06:02:14.192: I/dalvikvm(951): Could not find method    
com.facebook.android.Facebook.getAccessToken, referenced from method  
com.socialpro.common.SocialMgtProApp.authorizeOnFacebook 
01-09 06:02:14.222: W/dalvikvm(951): VFY: unable to resolve virtual method 124:  
Lcom/facebook/android/Facebook;.getAccessToken()Ljava/lang/String; 
01-09 06:02:14.222: D/dalvikvm(951): VFY: replacing opcode 0x6e at 0x0004 
01-09 06:02:14.254: I/dalvikvm(951): Could not find method  
com.google.code.linkedinapi.client.oauth.LinkedInOAuthService.getOAuthAccessToken, referenced  
from method com.socialpro.common.SocialMgtProApp.authorizeOnLinkedin 
01-09 06:02:14.254: W/dalvikvm(951): VFY: unable to resolve interface method 150: 
Lcom/google/code/linkedinapi/client/oauth/LinkedInOAuthService;.getOAuthAccessToken 



(Lcom/google/code/linkedinapi/client/oauth/LinkedInRequestToken;Ljava/lang/String;)Lcom/google/code/l inkedinapi/client/oauth/LinkedInAccessToken; 
01-09 06:02:14.282: D/dalvikvm(951): VFY: replacing opcode 0x72 at 0x0004 
01-09 06:02:14.332: I/dalvikvm(951): Could not find method twitter4j.Twitter.getOAuthAccessToken,  
referenced from method com.socialpro.common.SocialMgtProApp.authorizeOnTwitter 
01-09 06:02:14.332: W/dalvikvm(951): VFY: unable to resolve interface method 734: 
Ltwitter4j/Twitter;.getOAuthAccessToken 
(Ltwitter4j/auth/RequestToken;Ljava/lang/String;)Ltwitter4j/auth/AccessToken; 
01-09 06:02:14.332: D/dalvikvm(951): VFY: replacing opcode 0x72 at 0x0004 
01-09 06:02:14.422: I/dalvikvm(951): Could not find method 
com.google.code.linkedinapi.client.oauth.LinkedInOAuthService.getOAuthRequestToken, referenced 
from method com.socialpro.common.SocialMgtProApp.beginLinkedInAuthorization 
01-09 06:02:14.452: W/dalvikvm(951): VFY: unable to resolve interface method 151: 
Lcom/google/code/linkedinapi/client/oauth/LinkedInOAuthService;.getOAuthRequestToken \ 
(Ljava/lang/String;)Lcom/google/code/linkedinapi/client/oauth/LinkedInRequestToken; 
01-09 06:02:14.452: D/dalvikvm(951): VFY: replacing opcode 0x72 at 0x0017 
01-09 06:02:14.452: I/dalvikvm(951): Could not find method  
com.google.code.linkedinapi.client.oauth.LinkedInRequestToken.getAuthorizationUrl, referenced  
from method com.socialpro.common.SocialMgtProApp.beginLinkedInAuthorization 

回答

0

在proguard的-android.txt類型:

-dontwarn org.twitter4j.** 
-dontwarn twitter4j.** 
-dontwarn org.simpleframework.** 
-dontwarn android.support.** 
-dontwarn oauth.signpost.signature.** 
-dontwarn com.android.support.** 

我不知道你所有的庫,也許你應該刪除此列表中的相同。

而且在gradle.build:

compile project(':facebook'){ 
dependencies { 
compile ('com.android.support:support-v13:+'){ 
exclude group: 'com.android.support', module: 'support-v13' 
exclude group: 'com.android.support', module: 'support-v4' 
} 

compile ('com.android.support:support-v4:+'){ 
       exclude group: 'com.android.support', module: 'support-v4' 
      } 
     }} 
    compile ('org.twitter4j:twitter4j-core:+'){ 
     exclude group: 'twitter4j.management' 
    }