2014-10-19 2 views
1

Здравствуйте, я решил использовать Urban Airship для обработки моего уведомления на Android. Но RunTime эта ошибка появляется:Вопрос о выпуске городского дирижабля

ERROR/AndroidRuntime(16575): FATAL EXCEPTION: Thread-9778 
     java.lang.NoClassDefFoundError: com.urbanairship.R$string 
     at com.urbanairship.push.NotificationActionButtonGroupFactory.createUrbanAirshipGroups(NotificationActionButtonGroupFactory.java:40) 
     at com.urbanairship.push.PushManager.<init>(PushManager.java:198) 
     at com.urbanairship.push.PushManager.<init>(PushManager.java:186) 
     at com.urbanairship.UAirship.<init>(UAirship.java:107) 
     at com.urbanairship.UAirship.executeTakeOff(UAirship.java:302) 
     at com.urbanairship.UAirship.access$000(UAirship.java:54) 
     at com.urbanairship.UAirship$2.run(UAirship.java:260) 
     at java.lang.Thread.run(Thread.java:841) 

Я пытаюсь использовать последний Urban дирижабль LIB:

urbanairship-lib-5.0.1.jar

С:

android-support-v4.jar

Мой AndroidManifest следит за Documenttation и вот мой класс применения:

public class TestApplication extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions(this); 
     options.developmentAppKey = "***"; 
     options.developmentAppSecret = "***"; 
     options.productionAppKey = "***"; 
     options.productionAppSecret = "***"; 
     options.inProduction = false; 
     UAirship.takeOff(this, options); 

     //String channelId = UAirship.shared().getPushManager().getChannelId(); 
     //Log.i(TAG, "My Application Channel ID: " + channelId); 
    } 
} 
+0

AirshipConfigOptions options = AirshipConfigOptions.loadDefaultOptions (getApplicationContext()); –

+0

Вы нашли решение для этого? – PaperThick

ответ

2

Когда вы загрузите последнюю связку вы найдете папку с именем urbanairship-Lib. Добавьте эту папку в качестве проекта библиотеки в Eclipse и в качестве проекта зависимости к вашему проекту приложения. Этот проект urbanairhip-lib содержит городской дирижабль-lib-5.0.2.jar, а также строковые определения OUTSIDE the airship-lib-5.0.2.jar. Вот почему, если вы используете только airship-lib-5.0.2.jar, вы получаете java.lang.NoClassDefFoundError: com.urbanairship.R $ string. Надеюсь это поможет.

+0

да спасибо Я на самом деле использую intelliJ проблема в том, что я добавил библиотеку городского дирижабля в качестве проекта библиотеки, и теперь я могу либо получить java.lang.NoClassDefFoundError: com.urbanairship. R $ string Если я добавлю банку и библиотеку в качестве зависимости от моего основного проекта. Но если я проект urbanairhip-lib для моего основного проекта и jar как зависимость от urbainairship-lib .. Теперь я получаю java.lang.NoClassDefFoundError по методам урбанистического укладки –

+0

Вам нужно добавить проект urbanairhip-lib как библиотечный проект в ваш основной проект приложения, как и в ссылке выше (http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject), не знаете, как это сделать на IntelliJ. BTW Я считаю, что они помещают строки вне JAR, если вам нужно добавить языки, о которых они не думали (см. Values.xml) и т. Д. –

+0

Да, но когда я это делаю, у меня есть java.lang.NoClassDefFoundError при каждом вызове любой функции библиотеки городского дирижабля ... –

Смежные вопросы