2012-12-07 42 views
11

Tôi đã thử làm theo hướng dẫn trên Android Maps V2 Quick Start Nhưng khi tôi chạy ứng dụng, màn hình bản đồ trống sẽ hiển thị. Điện thoại của tôi sử dụng Android 2.2.1.Google Maps V2 hiển thị màn hình trống trên android 2.2

enter image description here

Đây là những gì thể hiện trong logcat:

12-07 18:07:52.479: W/dalvikvm(1654): VFY: unable to resolve instance field 24 
12-07 18:07:53.129: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/a/du; (411) 
12-07 18:07:53.129: W/dalvikvm(1654): Link of class 'Lmaps/a/du;' failed 
12-07 18:07:53.139: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/a/ej; (2363) 
12-07 18:07:53.139: W/dalvikvm(1654): Link of class 'Lmaps/a/ej;' failed 
12-07 18:07:53.139: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/j/k; (2379) 
12-07 18:07:53.139: W/dalvikvm(1654): Link of class 'Lmaps/j/k;' failed 
12-07 18:07:53.149: E/dalvikvm(1654): Could not find class 'maps.j.k', referenced from method maps.y.ae.a 
12-07 18:07:53.149: W/dalvikvm(1654): VFY: unable to resolve new-instance 3571 (Lmaps/j/k;) in Lmaps/y/ae; 
12-07 18:07:53.389: W/dalvikvm(1654): VFY: unable to resolve direct method 14965: Ljava/io/IOException;.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V 

Edit: Đây là tập tin manifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.eunice.mapstry" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/> 
    <permission android:name="com.eunice.mapstry.permission.MAPS_RECEIVE" 
       android:protectionLevel="signature"/> 
    <uses-permission android:name="com.eunice.mapstry.permission.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <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"/> 


    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <uses-library android:name="com.google.android.maps" /> 

     <activity 
      android:name="com.eunice.mapstry.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> 

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyBt_JE6_XIVR8-t0HrbhskeLrAVxSJst6c"/> 
    </application> 

</manifest> 

Edit: Tôi đã thêm một hình ảnh của google của tôi giao diện điều khiển api:

enter image description here

+0

Bạn đã thêm một API Key của sáng tạo của riêng bạn? –

+0

Có, tôi có. Lần đầu tiên tôi tạo một với kho khóa gỡ lỗi. Khi cái đó không hoạt động, tôi tạo một kho khóa khác và tạo khóa api với khóa đó nhưng nó vẫn không hoạt động – euniceadu

+0

Chế độ xem bản đồ ở đó vì vậy chỉ có 2 điều tôi biết để ngăn bản đồ xuất hiện là khóa không hợp lệ hoặc bạn chưa thêm quyền truy cập internet trong tệp kê khai. –

Trả lời

7

Cuối cùng tôi đã tìm ra vấn đề là gì. Tôi đã chọn kho khóa gỡ lỗi sai. Tôi đang làm việc với một máy ubuntu. Kể từ khi tôi mở eclipse là root, keystore mặc định trong nhật thực nằm trong thư mục gốc của tôi (/root/.android/.android/debug.keystore) whiles Tôi đã tạo khóa api với keystore gỡ lỗi từ thư mục người dùng của mình. Tôi đã tạo một khóa api mới với kho khóa gỡ lỗi trong thư mục gốc và nó hoạt động ngay bây giờ.

2

chắc chắn rằng bạn kích hoạt dịch vụ API v2 Google Maps dành cho Android trong https://code.google.com/apis/console

  1. Go cho bạn tab https://code.google.com/apis/console-> Dịch vụ
  2. Hãy chắc chắn rằng Google Maps dành cho Android API v2 là ON
  3. Đến API tab truy cập
  4. Tạo lại một mới Android chính

Sau đó, bạn tốt để đi :)

+0

Tôi đã làm điều đó. Tôi vừa chỉnh sửa câu hỏi của mình để bao gồm hình ảnh của bảng điều khiển google apis của tôi. – euniceadu

1

Tôi cũng đang sử dụng công cụ này cho các lứa tuổi (chứng chỉ, tên gói, bảng điều khiển API, v.v.) và không làm việc gì cho đến khi tôi gỡ cài đặt ứng dụng khỏi thiết bị của mình, sau đó cài đặt lại và đột nhiên nó ổn.

0

Tôi đã gặp vấn đề tương tự và giải pháp là xóa debug.keystore. Sau đó, tôi đã thực hiện một số adb uninstall com.example.myapp Sau đó, hãy làm sạch và chạy lại ứng dụng.

Tôi nghĩ rằng vấn đề là do thực tế là tôi đã sao chép và dán vào tệp kê khai của tôi một khóa API giả và lần đầu tiên tôi triển khai ứng dụng với nó.

1

Tôi đã gặp vấn đề tương tự nhưng đã giải quyết nó như thế. Có thể hữu ích nếu câu trả lời ở trên không hiệu quả với bạn. Sau khi tôi thay đổi tên gói của ứng dụng, bản đồ bắt đầu không hiển thị. (nó đã xảy ra sau khi tôi thay đổi tên gói của tôi)

  1. Xóa file keystore mà bạn sử dụng cho gói trước
  2. Tạo một file keystore mới
  3. Nhận SHA1 vân tay
  4. Tới Bảng điều khiển API
  5. Tạo ứng dụng Android mới.
  6. Dán vân tay của bạn
  7. Sử dụng API chính được đưa ra trong tập tin Manifest của bạn

Đó làm việc cho tôi

Các vấn đề liên quan