【发布时间】:2014-01-31 12:29:05
【问题描述】:
这是一个新手问题,但即使遵循 Google 指南,我也遇到了这个问题。
我的应用程序在看到地图时崩溃了,这个抛出:
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
只有 Samsung Galaxy S III 会发生这种情况,我正在尝试其他一些,例如 Samsung Galaxy ACE、Samsung WIFI 5.0 和其他一些,不会发生.
1.- 我添加了我的项目库。
2.- 我的构建路径上有 jar:
3.- 我已按照 Android 版 Google Maps V2 入门:
AndroidManifest.xml 的一部分
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<!-- Only this application can receive the messages and registration result -->
<permission android:name="my.package.example.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="my.package.example.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive message -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- Send the registration id to the server -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyBCYlMBZVuvPtCQm9mznppJTCnBbH8QRFI"/>
<activity ...
我的活动代码 (mappa.class) 在哪里崩溃
@Override
public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (layout != null) {
ViewGroup parent = (ViewGroup) layout.getParent();
if (parent != null)
parent.removeView(layout);
}
try {
// HERE IT'S WHEN IT CRASHES!! THE FOLLOWING LINE
layout = inflater.inflate(R.layout.fragmentmappa, container, false);
} catch (Exception e) {
e.printStackTrace();
}
还有我的布局 fragmentmappa.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
提前致谢。
【问题讨论】:
-
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable通常表明您没有正确引用库项目。可以再核对一下吗???但是发布的快照看起来还可以 -
是的,这就是问题所在......即使在很多设备上它也能正常工作
-
您的代码似乎一切正常,请尝试清理并构建,然后卸载并安装应用程序。看看它是否有效。
-
我假设当我导出时,它会自行清理...我在我的设备中调试,它没问题,我正在调试,但这个错误是在我导出它时... . 我仍然无法避免成为新手 :P :P。 @TheLittleNaruto 如果您愿意,请将其发布为回复,我会批准它;)谢谢
-
当然!对其他人也有好处:P
标签: android google-maps noclassdeffounderror