我正在尝试使用明确的意图在我的 Android 应用程序中显示 MapView。尽管我没有发现我的代码有任何问题,但当我尝试启动我的活动时,我不断收到“NoClassDefFoundError”。
基本上,从我的主要活动(SetCriteria)中,我在用户按下按钮时创建明确的意图:
Log.i(TAG, "Showing map..");
try{
Intent intentMap = new Intent(view.getContext(), AddLocation.class);
startActivity(intentMap);
}catch(Throwable ex) {
Log.e(TAG, "Error occured while trying to display map", ex);
}
我的 LogCat 显示:
java.lang.NoClassDefFoundError: com.adm.AddLocation
...
Caused by: java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
我的清单如下所示:
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher_red">
<uses-library android:name="com.google.android.maps"/>
<activity android:name=".SetCriteria"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".AddLocation"
android:label="@string/add_location">
</activity>
</application>
我只有一个包:com.adm。那么可能出了什么问题呢?我使用 Intent(Intent.ACTION_VIEW, uri) 启动地图没有问题,但我希望我的特定活动处理地图。
您应该删除“.
“(点)在第二个活动声明中的类名之前,因此它看起来像:
<activity android:name="AddLocation" android:label="@string/add_location">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)