Kemarin API 19 keluar jadi saya upgrade SDK dan lainnya (termasuk Layanan Google Play) sekarang metode ini:
private boolean isGooglePlayInstalled(){
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if(status == ConnectionResult.SUCCESS){
return true;
}else{
((Dialog)GooglePlayServicesUtil.getErrorDialog(status, this,10)).show();
}
return false;
}
Melempar pada garis
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(ini);
Caused by: java.lang.IllegalStateException: The meta-data tag in your app's
AndroidManifest.xml does not have the right value. Expected 4030500 but found 0.
You must have the following declaration within the <application> element:
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Cara untuk memperbaiki kesalahan itu? Saya tidak memiliki elemen
"com.google.android.rups.versi"di manifest sebelum dan bekerja.
Ini saya menyatakan:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sabatsoft.driveit"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name="com.sabatsoft.driveit.activity.Start"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- other activities -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIza*********************************1MZI" />
</application>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
</manifest>
Ini bekerja untuk saya:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Tempat ini pada akhir manifes anda, setelah anda Map API key meta-data tag. Karena anda memeriksa GPlayServices ketersediaan di onCreate, seperti:
// Check status of Google Play Services
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
// Check Google Play Service Available
try {
if (status != ConnectionResult.SUCCESS) {
GooglePlayServicesUtil.getErrorDialog(status, this, RQS_GooglePlayServices).show();
}
} catch (Exception e) {
Log.e("Error: GooglePlayServiceUtil: ", "" + e);
}
...kemudian setelah anda klik kotak dialog untuk update GPlayServices, anda akan dibawa ke GPlayStore. Biasanya, saya uninstall dari GPlayStore menu, maka pilihan untuk update akan tersedia. Ini harus bekerja setelah itu.
"google_play_services_froyo" lib proyek berisi com.google.android.rups
paket:
Di sisi lain, baru (ay. 13) "google_play_services" lib proyek memiliki beberapa tambahan paket hanya com.google.android.rups
:
Plus, paket ini ditemukan di new (ay. 13) "google_play_services": com.google.iklan
!
Tua (ay. 12) "google_play_services" telah:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms"
android:versionCode="3265130"
android:versionName="3.2.65 (834000-30)" >
<uses-sdk android:minSdkVersion="8"/>
</manifest>
Baru diperkenalkan "google_play_services_froyo" lib proyek:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms"
android:versionCode="3225130"
android:versionName="3.2.25 (761454-30)" >
<uses-sdk android:minSdkVersion="8"/>
</manifest>
"google_play_services_froyo" secara fungsional sama seperti yang lama (ay. 12) "google_play_services" lib proyek, jadi jika anda hanya ingin menjaga aplikasi yang kompatibel dan don't peduli tentang Api baru, hanya impor "google_play_services_froyo" dalam proyek anda dan anda're baik untuk pergi.
Di sisi lain, jika anda ingin menggunakan yang baru (ay. 13) "google_play_services" lib proyek, setelah anda mengimpor, anda harus menambahkan ini ke aplikasi anda mewujudkan:
<application
...
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
Semoga ini membantu :)
Saya menghadapi kesalahan ini karena saya dirujuk salinan asli dari direktori SDK. Pastikan bahwa anda terlebih dahulu copy library untuk android workspace dan hanya referensi. Di eclipse anda dapat melakukan ini dengan memeriksa "Copy projects into workspace" saat mengimpor proyek.