Android 将Apptentive从1.7.3版升级到2.1.1版时出现NoClassDefFoundError
我正在尝试将Apptentive从1.7.3版本升级到最新的2.1.1版本。 然而,每当我调用方法Android 将Apptentive从1.7.3版升级到2.1.1版时出现NoClassDefFoundError,android,apptentive,Android,Apptentive,我正在尝试将Apptentive从1.7.3版本升级到最新的2.1.1版本。 然而,每当我调用方法 showMessageCenter(getActivity()),要启动Apptentive消息对话框,它会崩溃并为ViewActivity提供NoClassDefFoundError。 日志如下: java.lang.NoClassDefFoundError:com.apptentive.android.sdk.ViewActivity 01-08 11:30:41.837 E/AndroidR
showMessageCenter(getActivity()),要启动Apptentive消息对话框,它会崩溃并为ViewActivity提供NoClassDefFoundError。 日志如下: java.lang.NoClassDefFoundError:com.apptentive.android.sdk.ViewActivity 01-08 11:30:41.837 E/AndroidRuntime(30049):位于com.apptentive.android.sdk.module.engagement.EngagementModule.launchInteraction(EngagementModule.java:75) 01-08 11:30:41.837 E/AndroidRuntime(30049):位于com.apptentive.android.sdk.module.engagement.engagement.EngagementModule.doEngage(EngagementModule.java:64) 01-08 11:30:41.837 E/AndroidRuntime(30049):在com.apptentive.android.sdk.module.engage.engagement.EngagementModule.engage(EngagementModule.java:53) 01-08 11:30:41.837 E/AndroidRuntime(30049):位于com.apptentive.android.sdk.module.engagement.EngagementModule.engageInternal(EngagementModule.java:31) 01-08 11:30:41.837 E/AndroidRuntime(30049):位于com.apptentive.android.sdk.ApptentiveInternal.showMessageCenterInternal(ApptentiveInternal.java:191) 01-08 11:30:41.837 E/AndroidRuntime(30049):位于com.apptentive.android.sdk.apptentive.showMessageCenter(apptentive.java:635) 01-08 11:30:41.837 E/AndroidRuntime(30049):位于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版本。
有没有人遇到过这个问题,或者有人能建议这里会出现什么问题
提前感谢您提供的宝贵建议。您可能没有在应用程序清单中包含对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"/>
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'
}
更多信息可在此处找到尝试清除并生成,然后重新加载项目,即使在清除该错误后也是如此。尽管在1.7.3版本中,即使没有任何干净的构建,它也能工作。嗨,杰克,谢谢你的回复,但是上面的元数据键在那里。同样适用于修订版1.7.3,无任何变更。这是奇怪的行为。到目前为止,我已将代码恢复为1.7.3。但是任何建议都会很有帮助,这样新版本中的功能就可以在我的应用程序中使用。嘿,杰克,我看到你在依赖项中使用了SupportLibrary 23.0.1。我使用的是支持libs版本22。所以最新的apptentive版本是否可能依赖于support libs 23+版本。如果是,将与support libs 22版本一起使用的apptentive版本是什么。如果是这样的话,错误似乎是误导。嗨,杰克,我发现是这样的。最新的库仅适用于支持库23+。