android - 获取错误 : java. lang.VerifyError

标签 android google-maps verifyerror

我收到 java.lang.VerifyError。我在下面发布我的日志文件和代码。

我找了几个解决方案,其中一个是以下链接, 但对我没有任何作用。

http://groups.google.com/group/android-developers/browse_thread/thread/423b93964fae33b5

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import com.google.android.maps.GeoPoint;

import android.app.Activity;
import android.content.Context;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class UseGpsActivity extends Activity {
    /** Called when the activity is first created. */
    private LocationManager mlocManager;
    private LocationListener mlocListener;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        /* Use the LocationManager class to obtain GPS locations */
        boolean gps_is_enabled = false;
        mlocManager = (LocationManager) this
                .getSystemService(Context.LOCATION_SERVICE);
        List<String> accessibleProviders = mlocManager.getProviders(true);
        gps_is_enabled = accessibleProviders != null
                && accessibleProviders.size() > 0;
        Log.v("gps enabled", gps_is_enabled + "");
        mlocListener = new MyLocationListener();
        mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
                mlocListener);
    }

    /* Class My Location Listener */

    public class MyLocationListener implements LocationListener {
        @Override
        public void onProviderDisabled(String provider) {
            Toast.makeText(getApplicationContext(), "Gps Disabled", 5000)
                    .show();
            Log.v("gps", "gps disabled");
        }

        @Override
        public void onProviderEnabled(String provider) {
            Toast.makeText(getApplicationContext(), "Gps Enabled", 5000).show();
            Log.v("gps", "gps enabled");
        }

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

        }

        @Override
        public void onLocationChanged(Location loc) {
            // TODO Auto-generated method stub
            loc.getLatitude();
            loc.getLongitude();
            GeoPoint point = new GeoPoint(
                    (int) (loc.getLatitude() * 1E6), 
                    (int) (loc.getLongitude() * 1E6));
            String Text = "My current location is: " + "Latitud = "
                    + loc.getLatitude() + "Longitud = " + loc.getLongitude();
            Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT)
                    .show();
            Geocoder gcd = new Geocoder(UseGpsActivity.this,
                    Locale.getDefault());
            String address = ConvertPointToLocation(point);
            Toast.makeText(getBaseContext(), address, Toast.LENGTH_SHORT).show();
//          List<Address> addresses = null;
//          try {
//              addresses = gcd.getFromLocation(loc.getLatitude(),
//                      loc.getLongitude(), 1);
//
//          } catch (IOException e) {
//              // TODO Auto-generated catch block
//              e.printStackTrace();
//          }
//          if (addresses != null) {
//              if (addresses.size() > 0) {
//                  Log.v("Addresses : ", addresses.get(0).getLocality() + "");
//                  Toast.makeText(
//                          getApplicationContext(),
//                          "Addresses : " + addresses.get(0).getLocality()
//                                  + "", Toast.LENGTH_LONG).show();
//                  Log.v("gps", Text + " " + addresses.get(0).getLocality()
//                          + "");
//              }
//          } else {
//              Log.v("addresses ", "NULL");
//          }
        }
        public String ConvertPointToLocation(GeoPoint point) {   
            String address = "";
            Geocoder geoCoder = new Geocoder(
                    getBaseContext(), Locale.getDefault());
            try {
                List<Address> addresses = geoCoder.getFromLocation(
                    point.getLatitudeE6()  / 1E6, 
                    point.getLongitudeE6() / 1E6, 1);

                if (addresses.size() > 0) {
                    for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++)
                        address += addresses.get(0).getAddressLine(index) + " ";
                }
            }
            catch (IOException e) {                
                e.printStackTrace();
            }   

            return address;
        } 

    }/* End of Class MyLocationListener */

}/* End of UseGps Activity */

还有我的日志文件

01-21 12:58:09.921: E/AndroidRuntime(584): Uncaught handler: thread main exiting due to uncaught exception
01-21 12:58:09.931: E/AndroidRuntime(584): java.lang.VerifyError: demo.usegps.UseGpsActivity$MyLocationListener
01-21 12:58:09.931: E/AndroidRuntime(584):  at demo.usegps.UseGpsActivity.onCreate(UseGpsActivity.java:36)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.app.ActivityThread.access$2100(ActivityThread.java:116)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.os.Looper.loop(Looper.java:123)
01-21 12:58:09.931: E/AndroidRuntime(584):  at android.app.ActivityThread.main(ActivityThread.java:4203)
01-21 12:58:09.931: E/AndroidRuntime(584):  at java.lang.reflect.Method.invokeNative(Native Method)
01-21 12:58:09.931: E/AndroidRuntime(584):  at java.lang.reflect.Method.invoke(Method.java:521)
01-21 12:58:09.931: E/AndroidRuntime(584):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
01-21 12:58:09.931: E/AndroidRuntime(584):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
01-21 12:58:09.931: E/AndroidRuntime(584):  at dalvik.system.NativeStart.main(Native Method)

最佳答案

我的 list 文件有误。

我想写

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

在 appilcation 标签中,我所做的是,我将它写在 manifest 标签中。

所以基本上我应该遵循以下结构。

<manifest>
<uses-permission/>
<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="com.google.android.maps" />

                       .
                       .
                       .

关于android - 获取错误 : java. lang.VerifyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951666/

相关文章:

android - 使用按钮显示/隐藏文本

java - 使用 HTTP Post、Java、Json、PHP 的 Android 注册表单

java - 检查Google Play购买是否已退款/取消的最佳方法?

android - VerifyError: Verifier 使用 Gradle Plugin 3.2.0 + Proguard 拒绝类 com.google.firebase.FirebaseApp 来剥离日志

android - 在 Gingerbread 上将 ActionBarDrawerToggle 与 AppCompat 和 ActionBarActivity 一起使用时出现 VerifyError

android - 使用 appcompat v7 不显示抽屉导航图标

javascript - 如何在没有外部库的情况下在 React 中实现 Google Maps JS API?

iphone - 寻找 Iphone 教程应用程序来搜索我所在位置附近的 field

javascript - 如何为 google maps api v3 街景制作自定义关闭按钮?

java - 发出实例化 bean - 验证错误