Android + Facebook Connect не работает в сборке релиза - PullRequest
2 голосов
/ 24 мая 2011

У меня есть приложение для Android, которое позволяет пользователю подключаться к своей учетной записи Facebook и автоматически делать посты на своей стене.

Все это прекрасно работает с отладочной сборкой (используя либо диалоговое окно резервного просмотра, либородная прикладная деятельность).Я использую последнюю версию Facebook Connect API для Android.

При тестировании финальной версии приложения я заметил, что в альтернативном диалоговом окне веб-просмотра не разрешено подключаться к Facebook (после ввода имени пользователя / пароля отображаетсястандартная страница 404, которая говорит, что не может найти страницу fbconnect: / success / # access_token = 3213546 ...)

Я подозреваю, что proguard удалил некоторый код, но я не могу понять, как определить, что вызываетпроблема.Кто-нибудь может дать некоторые подсказки и заставить меня двигаться в правильном направлении?

Мой файл proguard.cfg содержит следующие строки, чтобы оставить только Facebook Connect:

-keep class com.facebook.android.*
-keepclassmembers public class com.facebook.android.Facebook { 
    public static final *; 
}

В использовании .txt я могусмотреть классы фейсбука, строковые члены, ...

Ответы [ 4 ]

3 голосов
/ 24 мая 2011

Я исправил это по следующим правилам (однако я не эксперт, поэтому там могут быть ошибки).

-keep class com.facebook.android.*
-keep class android.webkit.WebViewClient
-keep class * extends android.webkit.WebViewClient
-keepclassmembers class * extends android.webkit.WebViewClient { 
    <methods>; 
} 
2 голосов
/ 25 мая 2013

Я получаю сообщение об ошибке. Веб-страница недоступна fbconnect: // success # access_token = ... При использовании существующего приложения (Draw Something), которое подключается к Facebook.Проблема исчезла, когда я удалил два разных приложения facebook, которые я установил на свой телефон (Galaxy Note 2 с Android 4.1.2), и переустановил текущее приложение facebook.

2 голосов
/ 07 мая 2013

Это единственное, что у меня работало с Facebook SDK 3.0:

-keepattributes Signature

-dontwarn com.facebook.**

-dontwarn com.parse.**

-keep class com.facebook.** { *; }

-keep class com.parse.** { *; }

(получил от http://adilatwork.blogspot.com/2013/01/parse-android-sdk-facebook-and-proguard.html)

0 голосов
/ 19 марта 2016

Чтобы заставить facebookConnect работать со сборкой релизов Android, вам нужно создать ссылку на файл хранилища ключей, который вы использовали для подписи своего приложения.

на Mac:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

при выигрыше:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

выход должен быть установлен в Android -> Key Hashes в настройках Facebook

...