我正在尝试将Apptentive从1.7.3版本升级到最新的2.1.1版本。 无论什么时候我都称之为方法 Apptentive.showMessageCenter(getActivity()),用于启动Apptentive消息对话框,它崩溃并为ViewActivity提供NoClassDefFoundError。 日志如下:
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:2.1.1@aar'
和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 :(得分: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"/>
另一种可能性是你没有在build.gradle中包含对Apptentive aar的引用。例如:
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:2.1.1@aar'
}
可在此处找到更多信息http://www.apptentive.com/docs/android/integration/