![](/img/trans.png)
[英]Could not find class '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.