Android的ClassNotFoundException的使用的GoogleMaps API V2ClassNotFoundException、Android、GoogleMaps、API

2023-09-07 01:25:45 作者:如昨

我开发利用谷歌地图API V2一个简单的应用程序。我正确添加了谷歌,播放services_lib的项目,我相信我的清单文件是正确的,但我得到了以下错误:

I'm developing a simple app utilizing the google maps api v2. I added the google-play-services_lib to the project correctly, and I believe my Manifest file is correct, but I get the following error:

08-05 19:17:37.709: E/AndroidRuntime(7610): FATAL EXCEPTION: main
08-05 19:17:37.709: E/AndroidRuntime(7610): Process: com.example.unitygame7, PID: 7610
08-05 19:17:37.709: E/AndroidRuntime(7610): java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:106)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at com.example.unitygame7.MainActivity.onCreate(MainActivity.java:17)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.Activity.performCreate(Activity.java:5248)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2173)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2269)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.ActivityThread.access$800(ActivityThread.java:139)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.os.Handler.dispatchMessage(Handler.java:102)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.os.Looper.loop(Looper.java:136)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at android.app.ActivityThread.main(ActivityThread.java:5102)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at java.lang.reflect.Method.invokeNative(Native Method)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at java.lang.reflect.Method.invoke(Method.java:515)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
08-05 19:17:37.709: E/AndroidRuntime(7610):     at dalvik.system.NativeStart.main(Native Method)

这是我的清单文件:

And here is my Manifest file:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.unitygame7"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="18" />
<uses-permission
    android:name="android.permission.SEND_SMS"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.INTERNET"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.NFC"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.WRITE_SOCIAL_STREAM"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.BATTERY_STATS"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.ACCESS_NETWORK_STATE"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="19" />
<uses-permission
    android:name="android.permission.ACCESS_COARSE_LOCATION" 
    android:maxSdkVersion="19"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />



<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.unitygame7.MainActivity"
        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="com.example.unitygame7.TrackingActivity"
        android:label="@string/title_activity_tracking" >
    </activity>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />


    <activity
        android:name="com.example.unitygame7.MapActivityty"
        android:label="You're Awesome, Oak" >
    </activity>

    <uses-library android:name="com.google.android.maps" />
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyCvTweV4Iv8VrXA90fAC6_y0_1UUcBiOco" />
</application>

推荐答案

您需要引用COMPAT支持库。请看一看到 Android开发者中心。

You need reference a Compat Support Library. Please take a look to Android Developer Center.

如果您使用的是Eclipse:

If you are using Eclipse:

确保您已使用SDK管理器下载Android的支持库。在您的应用程序项目的根目录下创建一个库/目录。的JAR文件从你的Andr​​oid SDK安装目录(例如,/extras/android/support/v4/android-support-v4.jar)到应用程序的项目库/目录拷贝。 右键单击该JAR文件,并选择构建路径>添加到构建路径。

否则,如果您使用Android工作室:

Otherwise if you use Android Studio:

添加相关性:编译com.android.support:appcompat-v7:19.+来的build.gradle在你的模块文件夹文件。确保应用程序兼容性罐子是外部库文件夹。

和您style.xml文件集:机器人:主题=@风格/ Theme.AppCompat

And on your style.xml file set: android:theme="@style/Theme.AppCompat".