Городской дирижабль вылетает при взлете. Исключение из незаконного аргумента - PullRequest
3 голосов
/ 14 марта 2012

Мой код в Applicaion.onCreate. Приложение вылетает на UAirship.takeoff(this,options); Пожалуйста, помогите.

public class LiveVideoApplication extends Application {
    @Override
    public void onCreate() {

        super.onCreate();

        AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this);

        // Optionally, customize your config at runtime:
        //
        options.inProduction = false;
        options.developmentAppKey = "key.. ";
        options.developmentAppSecret = "secret..";

        UAirship.takeOff(this, options);
        PushManager.shared().setIntentReceiver(IntentReceiver.class);
        Logger.logLevel = Log.VERBOSE;

        //use CustomPushNotificationBuilder to specify a custom layout
        CustomPushNotificationBuilder nb = new CustomPushNotificationBuilder();

        nb.statusBarIconDrawableId = R.drawable.icon_small;//custom status bar icon
//
        nb.layout = R.layout.notification;
        nb.layoutIconDrawableId = R.drawable.icon;//custom layout icon
        nb.layoutIconId = R.id.icon;
        nb.layoutSubjectId = R.id.subject;
        nb.layoutMessageId = R.id.message;

        // customize the sound played when a push is received
        nb.soundUri = Uri.parse("android.resource://"+this.getPackageName()+"/" +R.raw.cat);

        PushManager.shared().setNotificationBuilder(nb);
        PushManager.shared().setIntentReceiver(IntentReceiver.class);

    }
}

Журнал исключений:

03-15 00:25:37.106: E/AndroidRuntime(2920): FATAL EXCEPTION: main
03-15 00:25:37.106: E/AndroidRuntime(2920): java.lang.RuntimeException: Unable to create application com.LiveVideoApplication: java.lang.IllegalArgumentException: Application configuration is invalid.
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3275)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.app.ActivityThread.access$2200(ActivityThread.java:117)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.os.Looper.loop(Looper.java:123)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.app.ActivityThread.main(ActivityThread.java:3683)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at java.lang.reflect.Method.invokeNative(Native Method)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at java.lang.reflect.Method.invoke(Method.java:507)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at dalvik.system.NativeStart.main(Native Method)
03-15 00:25:37.106: E/AndroidRuntime(2920): Caused by: java.lang.IllegalArgumentException: Application configuration is invalid.
03-15 00:25:37.106: E/AndroidRuntime(2920):     at com.urbanairship.UAirship.takeOff(Unknown Source)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at com.LiveVideoApplication.onCreate(LiveVideoApplication.java:27)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
03-15 00:25:37.106: E/AndroidRuntime(2920):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3272)

Ответы [ 3 ]

5 голосов
/ 12 июня 2013

Следует отметить, что если вы используете файл airshipconfig.properties и поместили его на тот же уровень каталога, что и файл project.properties , Urban Airshipкод не сможет его найти, и вызов AirshipConfigOptions.loadDefaultOptions (this) вернет пустые строковые значения.

Это также может вызвать исключение, которое вы видите.1009 *

Решением в этом случае является размещение файла airshipconfig.properties в каталоге assets вашего проекта.

5 голосов
/ 15 марта 2012

Я также столкнулся с этой проблемой и решил ее. Я предлагаю вам убедиться, что вы создали приложение на UrbanAirship с тем же пакетом, что и ваше приложение. А также убедитесь, что ваш ключ и секрет верны.

IllegalArgumentException выдается, когда developmentAppKey и developmentAppSecret неверны. Или ключ и секрет верны, но в вашем удаленном тестовом приложении Urban Airship установлен другой пакет Applicaion.

1 голос
/ 02 июля 2013

Если вы проверили любое другое предложение и по-прежнему получаете исключение IllegalArgumentException, это исключение также генерируется, когда к телефону не привязана ни одна связанная учетная запись Google.

Если это так, вам следуетиметь возможность войти в систему / связать учетную запись Google, а затем вам нужно перезапустить телефон.

Я бы порекомендовал обернуть вызовы инициализации Urban Airship в попытку поймать, чтобы остановить это кирпич приложения в этом сценарии!Если вы используете отчеты об ошибках, целесообразно зарегистрировать это как обработанное исключение, чтобы вы знали, когда и когда это происходит.

...