2012-03-29 77 views
0

我正在爲我的CS類安卓GPS項目。現在,我正在通過教程(使用Eclipse和ADT插件)瞭解如何使用Android庫,但是一路上,我收到了安裝錯誤:INSTALL_FAILED_MISSING_SHARED_LIBRARY安裝錯誤:INSTALL_FAILED_MISSING_SHARED_LIBRARY對於Android 2.2 API級別8

我檢查了LogCat,看起來好像該錯誤開始在這條線上:

03-29 23:05:14.721: E/PackageManager(72): Package virginia.edu.cs2110 requires unavailable shared library android.location; failing! 

我查了這個問題,做了所有我能找到的東西。我聲明在manifest文件中使用庫場:

<uses-library android:name="android.location" /> 
<uses-library android:name="com.google.android.maps" /> 

如果你想知道,這是我的全部清單文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="virginia.edu.cs2110" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-sdk android:minSdkVersion="8" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".TrivialGPS" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <uses-library android:name="android.location" /> 
     <uses-library android:name="com.google.android.maps" /> 
    </application> 

</manifest> 

我還創建了一個Android模擬器與目標名稱「谷歌API (谷歌公司)「: http://i42.tinypic.com/2dj3vd5.jpg

而且,這裏就是我想運行代碼:

package virginia.edu.cs2110; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 

import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapController; 
import com.google.android.maps.MapView; 


public class TrivialGPS extends MapActivity { 

    private MapController mapController; 
    private MapView mapView; 
    private LocationManager locationManager; 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     // create a map view 
     mapView = new MapView(this, "C7:63:2F:C8:93:8B:E1:83:D6:4F:D3:5B:62:C1:75:90"); 
     mapController = mapView.getController(); 
     mapController.setZoom(22); 
     setContentView(mapView); 

     // get a hangle on the location manager 
     locationManager = 
     (LocationManager) getSystemService(Context.LOCATION_SERVICE); 

     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, 
     new LocationUpdateHandler()); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     // TODO Auto-generated method stub 
     return false; 
    } 

    public class LocationUpdateHandler implements LocationListener { 

     @Override 
     public void onLocationChanged(Location loc) { 
      int lat = (int) (loc.getLatitude()*1E6); 
      int lng = (int) (loc.getLongitude()*1E6); 
      GeoPoint point = new GeoPoint(lat, lng); 
      mapController.setCenter(point); 
      setContentView(mapView); 
     } 

     @Override 
     public void onProviderDisabled(String provider) {} 

     @Override 
     public void onProviderEnabled(String provider) {} 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) {} 

    } 
} 

回答

2

刪除<uses-library android:name="android.location" />,因爲沒有這樣的庫。

+0

哈哈。謝謝。我現在覺得有點愚蠢> _ < – 2012-03-30 03:06:00

相關問題