2016-01-08 2 views
2

Я пытаюсь обновить Apptentive с версии 1.7.3 до последней версии 2.1.1. Однако, когда я вызываю метод
Apptentive.showMessageCenter (getActivity()), чтобы запустить диалоговое окно Apptentive message, он сбой и дает NoClassDefFoundError для ViewActivity. Бревна, как показано ниже:NoClassDefFoundError при обновлении Apptentive версии от версии 1.7.3 до версии 2.1.1

java.lang.NoClassDefFoundError: com.apptentive.android.sdk.ViewActivity

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.module.engagement.EngagementModule.launchInteraction(EngagementModule.java:75)

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.module.engagement.EngagementModule.doEngage(EngagementModule.java:64)

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.module.engagement.EngagementModule.engage(EngagementModule.java:53)

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.module.engagement.EngagementModule.engageInternal(EngagementModule.java:31)

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.ApptentiveInternal.showMessageCenterInternal(ApptentiveInternal.java:191)

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.Apptentive.showMessageCenter(Apptentive.java:635)

01-08 11:30:41.837 E/AndroidRuntime(30049): at com.apptentive.android.sdk.Apptentive.showMessageCenter(Apptentive.java:619)

Мой код в build.gradle файла:

compile 'com.apptentive:apptentive-android:[email protected]' 

и Java-код:

Button writeUs = (Button) fitnessSyncDialog.findViewById(R.id.button_click_write_us); 
writeUs.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Apptentive.showMessageCenter(getActivity()); 
    } 
}); 

же код работает с версией 1.7.3 , Кто-нибудь сталкивался с этой проблемой или может кто-нибудь предложить, какая проблема может быть здесь?

Заранее благодарим за любые ценные предложения.

+0

попробовать чистый и построить затем перезагрузить проект –

+0

Даже после очистки его подачи этой ошибки. Хотя в 1.7.3 его работа даже без какой-либо чистой сборки. –

ответ

3

Возможно, вы не указали ссылку на ViewActivity в манифесте вашего приложения. например:

<meta-data android:name="apptentive_api_key" android:value="YOUR_API_KEY_GOES_HERE"/> 
    <activity android:name="com.apptentive.android.sdk.ViewActivity" 
      android:theme="@style/ApptentiveTheme"/> 

Другая возможность заключается в том, что вы не включили ссылку на AAR Apptentive в вашем build.gradle. Например:

repositories { 
    jcenter() 
} 

dependencies { 
    // These Google support libraries are required. Use the latest available. 
    compile 'com.android.support:support-v4:23.0.1' 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:cardview-v7:23.0.1' 
    // The Apptentive SDK 
    compile 'com.apptentive:apptentive-android:[email protected]' 
} 

Более подробную информацию можно найти здесь http://www.apptentive.com/docs/android/integration/

+0

Привет, Джейк, спасибо за ответ, но выше метаданных присутствует. То же самое работает с версией 1.7.3 без каких-либо изменений. это странное поведение. На данный момент я вернул свой код в 1.7.3. Но любые предложения будут полезны, поэтому функции в новых версиях могут быть использованы в моем приложении. –

+0

Эй, Джейк, я видел, что вы использовали библиотеку поддержки 23.0.1 в зависимостях. Я использую поддержку libs версии 22. Так что возможно, что последняя апплетская версия зависит от версии 23.2 поддержки. Если да, то какая версия apptentive будет работать с версией 22 версий поддержки. Также, если это так, ошибка, похоже, ошибочна. –

+0

Привет, Джейк, я нашел, что это так. Последняя библиотека работает только с поддержкой библиотеки 23+. –

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