GoogleのサインインとFacebookのログインをアプリに統合しました。デバッグモードではすべて正常に動作しますが、リリースモードではクラッシュします。app-release.apkのFacebookログインクラッシュ
04-30 11:15:12.113 28773-28788/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: com.cs442.Team14, PID: 28773
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:772)
at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:800)
at com.facebook.internal.Utility.queryAppSettings(Utility.java:846)
at com.facebook.login.widget.LoginButton$1.run(LoginButton.java:491)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
私は既にマニフェストファイルにアプリケーションIDを追加しました。だからここ
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value= "XXXXXXXXX"/>
(私は複数の言語をサポートしているので、私は、@文字列/ facebook_app_idを使用した場合、私はエラーを得ていた。だからではなく、私が代わりに、直接番号を貼り付け)
は、私がこれまで続いている段階であります:
- GoogleやFacebookの開発者向けサイトで作成したプロジェクト
- が追加されましたそれぞれのデバッグは、開発者サイトでキーを離すと
- G私のアプリケーションのためにeneratedキーストアファイル、それにキーを入れて(すなわち、keytool -exportcert -list -v -alias -keystore \ .keystore、keytool -exportcert -alias -keystore \ GoShop.keystore | openssl sha1 - バイナリ| Androidのメーカーからのopenssl base64で)
- 生成された署名付きAPK:ビルド - > APKを署名生成 - >上のキーストアファイルを使用
私は何をしないのですか?
android:value = "XXXXXXXXX"あなたは直接値を割り当てますか? – sasikumar
http://stackoverflow.com/questions/29298996/facebook-android-sdk-v4-0-0-sharedialog-nullpointerexception-issue – sasikumar
XXXXX = FacebookのアプリケーションID – hrushi