Q:

Calling any of AccountManager getAccounts makes my application stop

This code reproduces the problem, nothing more. Just a single activity and creating an instance of AccountManger then calling getAccounts() and it never reaches the for (... line.
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        AccountManager manager = AccountManager.get(this);
        Account[] accounts = manager.getAccounts();
        for (int index = 0 ; index < accounts.length ; ++index)
            Log.i("RumbAPK", accounts[index].name);
    }
}

All I want to do is to be able to list current accounts and check whether or not it's authenticated, to use it as an authentication system for my app.
Edit:
As requested by @CommonsWave and of course because it has to be useful.

FATAL EXCEPTION: main
java.lang.SecurityException: caller uid 10085 lacks any of android.permission.GET_ACCOUNTS
    at android.os.Parcel.readException(Parcel.java:1428)
    at android.os.Parcel.readException(Parcel.java:1382)
    at android.accounts.IAccountManager$Stub$Proxy.getAccountsAsUser(IAccountManager.java:541)
    at android.accounts.AccountManager.getAccountsByTypeAsUser(AccountManager.java:414)
    at android.accounts.AccountManager.getAccountsByType(AccountManager.java:408)
    at com.har.innovation.and.technology.rumbapk.GoogleLoginManager.authenticate(GoogleLoginManager.java:31)
    at com.har.innovation.and.technology.rumbapk.MainActivity.onClick(MainActivity.java:132)
    at android.view.View.performClick(View.java:4220)
    at android.view.View$PerformClick.run(View.java:17510)
    at android.os.Handler.handleCallback(Handler.java:800)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:194)
    at android.app.ActivityThread.main(ActivityThread.java:5455)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:733)
    at dalvik.system.NativeStart.main(Native Method)

A:

From the stack trace I'm quite sure you are missing the GET_ACCOUNTS permission in the AndroidManifest.xml
Please add this line:

<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

to the AndroidManifest.xml
More Informations about the permissions system on android.

