title: Appcelerator Android Facebook Login Problems
body: <p>I'm trying to let app users log into my Appcelerator app via Facebook. The Facebook app is in place. The correct hashes should also be in the Facebook dev system. The iOS login works perfect. Android however, gives this error:</p>
  
  <pre><code>[DEBUG] :  TiFacebookModule: (KrollRuntimeThread) [7865,569655] authorize called, permissions length: 1
  [DEBUG] :  TiFacebookModule: (KrollRuntimeThread) [0,569655] authorizing permission: email
  [DEBUG] :  ActivityWorkerProxy: (main) [232,569887] ActivityWorkerProxy onActivityResult
  [ERROR] :  TiFacebookModule: (main) [1,569888] FacebookCallback error: Login attempt failed.
  [ERROR] :  E/        : UID 10070 asks for /proc/cpuinfo
  [ERROR] :  E/        : Unable to open file /data/data/.appwithABI2
  [ERROR] :  E/        : Unable to open file /data/data/.appwithABI2neon
  [ERROR] :  E/        : UID 10070 is not in ARM UID list files
  </code></pre>
  
  <p><strong>tiapp.xml:</strong></p>
  
  <pre><code>## SDK: 6.0.1GA
  ## facebook module included (android 6.2.0)
  
  &lt;android xmlns:android="http://schemas.android.com/apk/res/android"&gt;
      &lt;manifest&gt;
          &lt;uses-permission android:name="android.permission.INTERNET"/&gt;
          &lt;application&gt;
              &lt;activity android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
              android:label="myNewApp"
              android:name="com.facebook.FacebookActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/&gt;
              &lt;meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/&gt;
              &lt;activity android:name="com.mynewapp.android" /&gt;
              &lt;resources&gt;
                  &lt;string name="facebook_app_id"&gt;[actual_FB_ID#]&lt;/string&gt;
              &lt;/resources&gt;
          &lt;/application&gt;
          &lt;resources&gt;
              &lt;string name="facebook_app_id"&gt;[actual_FB_ID#]&lt;/string&gt;
          &lt;/resources&gt;
      &lt;/manifest&gt;
      &lt;resources&gt;
          &lt;string name="facebook_app_id"&gt;[actual_FB_ID#]&lt;/string&gt;
      &lt;/resources&gt;
  &lt;/android&gt;
  </code></pre>
  
  <p>The app_id is an actual, valid, real app ID#. I have it in multiple places just to make sure the app can see it properly.</p>
  
  <p><strong>strings.xml:</strong> <em>(COMPLETE FILE)</em></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;resources&gt;
      &lt;string name="app_name" formatted="false"&gt;[Tried both the Facebook "Display Name" &amp; the "Namespace"]&lt;/string&gt;
      &lt;string name="facebook_app_id"&gt;[actual_FB_ID#]&lt;/string&gt;
  &lt;/resources&gt;
  </code></pre>
  
  <p><strong>Facebook APP / Settings:</strong></p>
  
  <pre><code>App ID: [actual_FB_ID#]
  App Secret: ******
  Display Name: A Display Name
  Namespace: anamespace
  App Domains: [EMPTY]
  Privacy: [EMPTY]
  Terms: [EMPTY]
  Category: Health &amp; Fitness
  
  // ANDROID
  Google Play Package Name: [see below]
  Class Name: [package name above + .index]
  Key Hashes: [4: 6.0.0.GA, 6.0.1.GA, 6.0.2.GA, and 6.0.3.GA] 
  Amazon App Store: [EMPTY]
  Single Sign On: No
  </code></pre>
  
  <p>There is no Google play package name since it's not published yet. I used the App id from tiapp.xml</p>
  
  <p><strong>Facebook Products / Facebook Login / Settings:</strong></p>
  
  <pre><code>Client OAuth Login: Yes
  Web OAuth Login: Yes
  Force Web OAuth Reauthentication: No
  Embedded Browser OAuth Login: No
  Valid Redirects: [EMPTY]
  Login From Devices: Yes
  </code></pre>
  
  <p><strong>Facebook Developer Settings // Sample App Settings:</strong></p>
  
  <pre><code>Entering key hashes here doesn't save. I enter the same hashes as in the android settings above, hit "Save Changes", and they just disappear.
  </code></pre>
  
  <p><strong>alloy.js:</strong></p>
  
  <pre><code>Alloy.Globals.Facebook = require('facebook');
  var fb = require('facebook');
  </code></pre>
  
  <p><strong>index.js:</strong></p>
  
  <pre><code>$.index.fbProxy = fb.createActivityWorker({
      lifecycleContainer: $.index
  });
  
  fb.initialize();
  fb.setLoginBehavior(fb.LOGIN_BEHAVIOR_NATIVE);
  fb.permissions = ['email'];
  fb.addEventListener('login', doFBlogin);
  
  function facebookButtonClick(e){
      fb.authorize();
  }
  
  function doFBlogin(e) {
      if (e.success) {
          alert("Success!");
      } else if (e.cancelled) {
          alert("Cancelled!");
      } else {
          alert("Error!");
      }
  }
  </code></pre>
  
  <p>I've tried everything I can think of to fix this. Any assistance would be greatly appreciated. Thanks.</p>