簡體   English   中英

ClassNotFoundException:帶有Maps APIv2的com.google.android.gms.location.internal.ParcelableGeofence

[英]ClassNotFoundException: com.google.android.gms.location.internal.ParcelableGeofence with Maps APIv2

我正在嘗試制作一個可顯示地圖並放大您當前位置的Android應用(當前僅是為了使縮放正常工作),而最近三天我一直在遇到此錯誤:

java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.location.internal.ParcelableGeofence" on path: DexPathList[[zip file "/system/framework/com.android.media.remotedisplay.jar", zip file "/system/framework/com.android.location.provider.jar", zip file "/data/app/com.google.android.gms-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.google.android.gms-1, /vendor/lib, /system/lib]]

編碼:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);
    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
            .getMap();

    map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
        @Override
        public void onMapLoaded() {
            map.setMyLocationEnabled(true);
            LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
//                map.animateCamera(CameraUpdateFactory.zoomBy(8));
        }
    });
}

在我的MainActivity.java和布局中:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity">

<fragment
    android:id="@+id/map"
    class="com.google.android.gms.maps.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</RelativeLayout>

清單中的相關組件:

<uses-permission     android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

<uses-sdk
    android:minSdkVersion="18"
    android:targetSdkVersion="18" />
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"
    android:uiOptions="">
    <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="XXX" />

感謝您的任何想法。 到目前為止,大多數建議似乎都表明API密鑰存在一些問題-結果,我已經多次從Google API控制台更改了API密鑰,重新生成了debug.keystore並重新生成了無效的密鑰。

更新:這是我的build.gradle:應用插件:'android'

android {compileSdkVersion 19 buildToolsVersion“ 19.1.0”

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 19
}
buildTypes {
    release {
        debug {
        }

        release {
        }
        runProguard false
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
sourceSets {
    androidTest {
        java.srcDirs = ['androidTest/java']
        androidTest.setRoot('androidTest')
    }
}
}

dependencies {
compile 'com.android.support:support-v4:20.0.0'
compile 'com.android.support:appcompat-v7:19.+'
compile 'com.google.android.gms:play-services:5.0.77'
androidTestCompile 'junit:junit:3.+'
}

從大約在同一時間開始,我也遇到了這個問題。 到目前為止,我仍然無法解釋或解決它,但是我發現,如果不設置setmyLocationEnable(true); 地圖將正確加載。 這對我來說仍然是個問題,因為我需要查看自己的位置,但希望對您有所幫助。

右鍵單擊項目,進入>屬性> Java構建路徑>選擇順序並導出選項卡,檢查項目所需的所有庫/必需文件夾,然后單擊確定按鈕以構建項目並進行編譯

希望它對你有用

它對我有用,也許對你也有用:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM