Android SDK Eclipse Google Maps(Android SDK Eclipse Google Maps)
从10天开始,我试着在手机上看到地图。
我想获得从当前位置到另一个位置的路线..
我有谷歌lib,我有api键,我用片段和Mapview尝试了视图,
我在youtube上阅读了5个以上的教程并观看了2个教程......
活动
<?xml version="1.0" encoding="utf-8"?> <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"> <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment" /> </RelativeLayout>
的.java
@SuppressLint("NewApi") public class GoogleNav extends Activity { static final LatLng HAMBURG = new LatLng(53.558, 9.927); static final LatLng KIEL = new LatLng(53.551, 9.993); private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_googlenav); map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG) .title("Hamburg")); Marker kiel = map.addMarker(new MarkerOptions() .position(KIEL) .title("Kiel") .snippet("Kiel is cool") .icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_launcher))); // Move the camera instantly to hamburg with a zoom of 15. map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15)); // Zoom in, animating the camera. map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); } @Override public boolean onCreateOptionsMenu(Menu menu) { //getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
表现
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jk.johnknust" android:versionCode="1" android:versionName="1.0" > Damit Handys mit hohen Auflösungen (z. B. Motorola Milestone) auch die hdpi-Resourcen verwenden <supports-screens android:anyDensity="true" android:largeScreens="true" android:smallScreens="true" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <permission android:name="com.jkjohnknust.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.jkjohnknust.permission.MAPS_RECEIVE"/> <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="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="com.google.android.maps" /> <activity android:name="com.jk.johnknust.Questlog" 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.jk.johnknust.QuestDetails" android:label="@string/title_activity_sek" > </activity> <activity android:name="com.jk.johnknust.Navigation" android:label="@string/title_activity_nav" > </activity> <activity android:name="com.jk.johnknust.GoogleNav" android:label="@string/title_activity_googlenav" > </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="yes i insert my key" /> </application> </manifest>
错误日志
06-14 23:13:17.475: E/ActivityThread(10782): Failed to inflate 06-14 23:13:17.475: E/ActivityThread(10782): android.view.InflateException: Binary XML file line #6: Error inflating class fragment 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 06-14 23:13:17.475: E/ActivityThread(10782): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Activity.setContentView(Activity.java:1929) 06-14 23:13:17.475: E/ActivityThread(10782): at com.jk.johnknust.GoogleNav.onCreate(GoogleNav.java:23) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Activity.performCreate(Activity.java:5231) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2158) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2253) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.access$800(ActivityThread.java:145) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 06-14 23:13:17.475: E/ActivityThread(10782): at android.os.Handler.dispatchMessage(Handler.java:102) 06-14 23:13:17.475: E/ActivityThread(10782): at android.os.Looper.loop(Looper.java:136) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.main(ActivityThread.java:5161) 06-14 23:13:17.475: E/ActivityThread(10782): at java.lang.reflect.Method.invokeNative(Native Method) 06-14 23:13:17.475: E/ActivityThread(10782): at java.lang.reflect.Method.invoke(Method.java:515) 06-14 23:13:17.475: E/ActivityThread(10782): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 06-14 23:13:17.475: E/ActivityThread(10782): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) 06-14 23:13:17.475: E/ActivityThread(10782): at dalvik.system.NativeStart.main(Native Method) 06-14 23:13:17.475: E/ActivityThread(10782): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4452000 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" /> 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.internal.u.B(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.internal.u.A(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapFragment$b.ip(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapFragment$b.a(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.dynamic.a.a(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.dynamic.a.onInflate(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Activity.onCreateView(Activity.java:4785) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 06-14 23:13:17.475: E/ActivityThread(10782): ... 21 more 06-14 23:13:17.475: D/AndroidRuntime(10782): Shutting down VM 06-14 23:13:17.475: W/dalvikvm(10782): threadid=1: thread exiting with uncaught exception (group=0x415a4ce0) 06-14 23:13:17.482: E/AndroidRuntime(10782): FATAL EXCEPTION: main 06-14 23:13:17.482: E/AndroidRuntime(10782): Process: com.jk.johnknust, PID: 10782 06-14 23:13:17.482: E/AndroidRuntime(10782): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jk.johnknust/com.jk.johnknust.GoogleNav}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2204) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2253) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.access$800(ActivityThread.java:145) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.os.Handler.dispatchMessage(Handler.java:102) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.os.Looper.loop(Looper.java:136) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.main(ActivityThread.java:5161) 06-14 23:13:17.482: E/AndroidRuntime(10782): at java.lang.reflect.Method.invokeNative(Native Method) 06-14 23:13:17.482: E/AndroidRuntime(10782): at java.lang.reflect.Method.invoke(Method.java:515) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) 06-14 23:13:17.482: E/AndroidRuntime(10782): at dalvik.system.NativeStart.main(Native Method) 06-14 23:13:17.482: E/AndroidRuntime(10782): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Activity.setContentView(Activity.java:1929) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.jk.johnknust.GoogleNav.onCreate(GoogleNav.java:23) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Activity.performCreate(Activity.java:5231) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2158) 06-14 23:13:17.482: E/AndroidRuntime(10782): ... 11 more 06-14 23:13:17.482: E/AndroidRuntime(10782): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4452000 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" /> 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.internal.u.B(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.internal.u.A(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapFragment$b.ip(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapFragment$b.a(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.dynamic.a.a(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.dynamic.a.onInflate(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Activity.onCreateView(Activity.java:4785) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 06-14 23:13:17.482: E/AndroidRuntime(10782): ... 21 more
since 10 days i try to see a map on my phone.
i want to get a route from current location to another location..
I have the google lib, I have the api key, I tried the view with a fragment and with a Mapview,
I read more than 5 tutorials and watch 2 tutorials on youtube...
activity
<?xml version="1.0" encoding="utf-8"?> <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"> <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment" /> </RelativeLayout>
.java
@SuppressLint("NewApi") public class GoogleNav extends Activity { static final LatLng HAMBURG = new LatLng(53.558, 9.927); static final LatLng KIEL = new LatLng(53.551, 9.993); private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_googlenav); map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG) .title("Hamburg")); Marker kiel = map.addMarker(new MarkerOptions() .position(KIEL) .title("Kiel") .snippet("Kiel is cool") .icon(BitmapDescriptorFactory .fromResource(R.drawable.ic_launcher))); // Move the camera instantly to hamburg with a zoom of 15. map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15)); // Zoom in, animating the camera. map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); } @Override public boolean onCreateOptionsMenu(Menu menu) { //getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
manifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jk.johnknust" android:versionCode="1" android:versionName="1.0" > Damit Handys mit hohen Auflösungen (z. B. Motorola Milestone) auch die hdpi-Resourcen verwenden <supports-screens android:anyDensity="true" android:largeScreens="true" android:smallScreens="true" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <permission android:name="com.jkjohnknust.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.jkjohnknust.permission.MAPS_RECEIVE"/> <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="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="com.google.android.maps" /> <activity android:name="com.jk.johnknust.Questlog" 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.jk.johnknust.QuestDetails" android:label="@string/title_activity_sek" > </activity> <activity android:name="com.jk.johnknust.Navigation" android:label="@string/title_activity_nav" > </activity> <activity android:name="com.jk.johnknust.GoogleNav" android:label="@string/title_activity_googlenav" > </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="yes i insert my key" /> </application> </manifest>
error log
06-14 23:13:17.475: E/ActivityThread(10782): Failed to inflate 06-14 23:13:17.475: E/ActivityThread(10782): android.view.InflateException: Binary XML file line #6: Error inflating class fragment 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 06-14 23:13:17.475: E/ActivityThread(10782): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Activity.setContentView(Activity.java:1929) 06-14 23:13:17.475: E/ActivityThread(10782): at com.jk.johnknust.GoogleNav.onCreate(GoogleNav.java:23) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Activity.performCreate(Activity.java:5231) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2158) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2253) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.access$800(ActivityThread.java:145) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 06-14 23:13:17.475: E/ActivityThread(10782): at android.os.Handler.dispatchMessage(Handler.java:102) 06-14 23:13:17.475: E/ActivityThread(10782): at android.os.Looper.loop(Looper.java:136) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.ActivityThread.main(ActivityThread.java:5161) 06-14 23:13:17.475: E/ActivityThread(10782): at java.lang.reflect.Method.invokeNative(Native Method) 06-14 23:13:17.475: E/ActivityThread(10782): at java.lang.reflect.Method.invoke(Method.java:515) 06-14 23:13:17.475: E/ActivityThread(10782): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 06-14 23:13:17.475: E/ActivityThread(10782): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) 06-14 23:13:17.475: E/ActivityThread(10782): at dalvik.system.NativeStart.main(Native Method) 06-14 23:13:17.475: E/ActivityThread(10782): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4452000 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" /> 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.internal.u.B(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.internal.u.A(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapFragment$b.ip(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapFragment$b.a(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.dynamic.a.a(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.dynamic.a.onInflate(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source) 06-14 23:13:17.475: E/ActivityThread(10782): at android.app.Activity.onCreateView(Activity.java:4785) 06-14 23:13:17.475: E/ActivityThread(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 06-14 23:13:17.475: E/ActivityThread(10782): ... 21 more 06-14 23:13:17.475: D/AndroidRuntime(10782): Shutting down VM 06-14 23:13:17.475: W/dalvikvm(10782): threadid=1: thread exiting with uncaught exception (group=0x415a4ce0) 06-14 23:13:17.482: E/AndroidRuntime(10782): FATAL EXCEPTION: main 06-14 23:13:17.482: E/AndroidRuntime(10782): Process: com.jk.johnknust, PID: 10782 06-14 23:13:17.482: E/AndroidRuntime(10782): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jk.johnknust/com.jk.johnknust.GoogleNav}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2204) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2253) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.access$800(ActivityThread.java:145) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.os.Handler.dispatchMessage(Handler.java:102) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.os.Looper.loop(Looper.java:136) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.main(ActivityThread.java:5161) 06-14 23:13:17.482: E/AndroidRuntime(10782): at java.lang.reflect.Method.invokeNative(Native Method) 06-14 23:13:17.482: E/AndroidRuntime(10782): at java.lang.reflect.Method.invoke(Method.java:515) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) 06-14 23:13:17.482: E/AndroidRuntime(10782): at dalvik.system.NativeStart.main(Native Method) 06-14 23:13:17.482: E/AndroidRuntime(10782): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Activity.setContentView(Activity.java:1929) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.jk.johnknust.GoogleNav.onCreate(GoogleNav.java:23) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Activity.performCreate(Activity.java:5231) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2158) 06-14 23:13:17.482: E/AndroidRuntime(10782): ... 11 more 06-14 23:13:17.482: E/AndroidRuntime(10782): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4452000 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" /> 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.internal.u.B(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.internal.u.A(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapFragment$b.ip(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapFragment$b.a(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.dynamic.a.a(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.dynamic.a.onInflate(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.app.Activity.onCreateView(Activity.java:4785) 06-14 23:13:17.482: E/AndroidRuntime(10782): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 06-14 23:13:17.482: E/AndroidRuntime(10782): ... 21 more
原文:
最满意答案
我一直在尝试使用wireshark进行openstack服务器迁移的性能。 您可以从控制节点ping openstack实例,并让wireshark捕获发送到实例的icmp数据包。 在ping它时执行实时迁移。 记下wireshark没有捕获数据包的时间,并且你有它,大致测量openstack服务器迁移的性能。
I have been meausring the performance of openstack server migrate using wireshark. You can ping the openstack instance from your control node, and have wireshark capture the icmp packets sent to the instance. CArry out live migration while pinging it. Take note of the time for which the packets are not captured by wireshark, and there you have it, an approximate measurement of performance of openstack server migrate.
相关问答
更多-
OpenStack:如何验证您是使用kvm还是仅使用qemu(OpenStack: how to verify if you are using kvm or just qemu)[2021-11-11]
这是nova-client中的一个错误。 因为kvm仍然在qemu的openstack范围内,所以它显示为qemu是否为kvm。 参考: https : //bugs.launchpad.net/nova/+bug/1195361 您可以在节点上执行ps aux,看看是否看到kvm进程正在运行。 This is a bug in the nova-client. Because kvm is still within the confines of qemu for openstack, it shows ... -
来自qemu-kvm的主题(guest threads in qemu-kvm)[2024-02-27]
虚拟机中运行着一个普通的操作系统。 它的调度程序将调度线程处理到(V)CPU,就像任何操作系统一样。 There is an ordinary OS running in the VM. Its scheduler handles scheduling threads to (V)CPUs, just as any OS does. -
好吧,据我所知,在没有KVM的情况下运行QEMU迫使QEMU使用Tiny Code Generator(TCG)而不是KVM。 因此,在没有KVM且没有TCG的情况下运行QEMU根本不可能! Well, as I understood, running QEMU without KVM forces QEMU to use the Tiny Code Generator (TCG) instead of KVM. So, running QEMU without KVM and without TCG is ...
-
使用KVM将脚本传递给VM(passing script to VM with KVM)[2022-12-17]
首先,这不是关于KVM而是客户操作系统引导程序。 在使用KVM时,它应该在客户操作系统内部一无所知,例如,如果操作系统是否已启动。 在这方面有两个问题: 它如何从KVM管理程序向客户操作系统提供脚本或数据? 如何在客户操作系统启动时激活脚本? 根据问题#1,您可以使用磁盘或网络。 例如,您将附加的磁盘/ iso / vfat文件附加到VM,以便可以在来宾操作系统中找到它。 您可以在Linux启动时找到许多运行脚本的方法。 总之,您可以使用cloud-init及其配置驱动器扩展 。 脚步 使用包含cloud- ... -
从这里的讨论中,您可以读到只有在写入PERF_FIXED_CTR_CTRL(0x38d)时,kvm才会更新虚拟计数器。 因此,为了获得pmi,在设置计数器值之后,最好在最后位置设置该寄存器。 为了完整起见,必须按以下顺序发布说明: ; set counter value. mov edx, 0xffff mov eax, 0xffff0000 mov ecx, 0x309 wrmsr ; set counting mode xor edx, edx mov eax, 0xa mov ecx, 0x38d ...
-
winxp.img和loop1不是单个分区(可以挂载),它是具有自己的分区表的完整硬盘映像。 您应该使用fdisk从loop1读取分区表; 计算第一个分区的偏移量并执行: sudo mount -o offset=N -t ntfs /dev/loop1 /home/robert/kvm/images/tmp 其中N以字节为单位进行偏移。 N上的Telepathic模式为32256 Telepathic模式关闭 最后,谷歌模式(我将谷歌“偏移32256”): http://en.wikibooks.org ...
-
除了hypervisor抽象外,libvirt还有很多好处。 而不是在这里列出所有内容,请查看几年前我写的关于此内容的博客文章。 https://www.berrange.com/posts/2011/06/07/what-benefits-does-libvirt-offer-to-developers-targetting-qemukvm/ 这里列出的所有内容今天仍然相关,我们从那以后增加了一些优势,特别是在单独的挂载名称空间中运行QEMU以将QEMU与主机/ dev节点隔离。 There is qui ...
-
KVM中的虚拟CPU(virtual CPU in KVM)[2023-09-03]
如果您使用参数-qmp unix执行qemu:./ qmp-sock,server,nowait,例如: # /opt/qemu/bin/qemu-system-x86_64 \ -smp cpus=2 \ -drive file=/opt/test.qcow2,format=qcow2 \ -cdrom CentOS-7-x86_64-DVD-1511.iso \ -qmp unix:./qmp-sock,server,nowait 你可以执行qmp-shell来获取c ... -
我一直在尝试使用wireshark进行openstack服务器迁移的性能。 您可以从控制节点ping openstack实例,并让wireshark捕获发送到实例的icmp数据包。 在ping它时执行实时迁移。 记下wireshark没有捕获数据包的时间,并且你有它,大致测量openstack服务器迁移的性能。 I have been meausring the performance of openstack server migrate using wireshark. You can ping the ...
-
好的,我找到了答案,所以我在这里发布给其他人: 在讨论之后 ,我发现为了读取寄存器值,必须使KVM状态与QEMU同步。 因此,在读取寄存器之前,需要调用kvm-all.c:kvm_cpu_synchronize_state() 。 没有它,你只会阅读过时的价值观。 OK, I found the answer so I'm posting here for others: Following this discussion, I figured out that in order to read the r ...