简体   繁体   English

放置自动完成未找到类“ com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable”

[英]Places AutoComplete Didn't find class “com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable”

I am using embed google places autocomplete fragment. 我正在使用嵌入Google Places自动完成片段。 here is my code. 这是我的代码。 when I touch the search fragment the app crash and throw an error. 当我触摸搜索片段时,应用程序崩溃并抛出错误。

My Java Class 我的Java课

public class User extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener, OnMapReadyCallback {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user);

    PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
            getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

    autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            // TODO: Get info about the selected place.
            Log.i("Google Map", "Place: " + place.getName());
        }

        @Override
        public void onError(Status status) {
            // TODO: Handle the error.
            Log.i("Google Map", "An error occurred: " + status);
        }
    });

Fragmenet in xml XML中的Fragmenet

    <fragment
        android:id="@+id/place_autocomplete_fragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment" />

Error in logcat logcat中的错误

06-27 23:12:39.247 21759-21759/af.com.urban I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.location.places.AutocompleteFilter>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable;
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.google.android.gms.location.places.ui.PlaceAutocompleteFragment.zzboi() ((null):-1)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.google.android.gms.location.places.ui.PlaceAutocompleteFragment.zza(com.google.android.gms.location.places.ui.PlaceAutocompleteFragment) ((null):-1)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.google.android.gms.location.places.ui.PlaceAutocompleteFragment$1.onClick(android.view.View) ((null):-1)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at boolean android.view.View.performClick() (View.java:6205)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at boolean android.widget.TextView.performClick() (TextView.java:11103)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.view.View$PerformClick.run() (View.java:23653)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:751)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.os.Looper.loop() (Looper.java:154)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)
06-27 23:12:39.247 21759-21759/af.com.urban I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable" on path: DexPathList[[zip file "/data/app/af.com.urban-2/base.apk"],nativeLibraryDirectories=[/data/app/af.com.urban-2/lib/arm64, /system/lib64, /vendor/lib64]]
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.google.android.gms.location.places.ui.PlaceAutocompleteFragment.zzboi() ((null):-1)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.google.android.gms.location.places.ui.PlaceAutocompleteFragment.zza(com.google.android.gms.location.places.ui.PlaceAutocompleteFragment) ((null):-1)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.google.android.gms.location.places.ui.PlaceAutocompleteFragment$1.onClick(android.view.View) ((null):-1)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at boolean android.view.View.performClick() (View.java:6205)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at boolean android.widget.TextView.performClick() (TextView.java:11103)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.view.View$PerformClick.run() (View.java:23653)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:751)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:95)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.os.Looper.loop() (Looper.java:154)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
06-27 23:12:39.247 21759-21759/af.com.urban I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)

Here is my android minifest file how every i tried to complie different version of library but no result 这是我的android minifest文件,我每次尝试编译不同版本的库但没有结果

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="af.com.urban">

<permission
    android:name="af.com.urban.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="af.com.urban.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application
    android:allowBackup="true"
    android:fullBackupContent="@xml/backup_descriptor"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:theme="@style/Theme.AppCompat.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Login" />
    <activity
        android:name=".User"
        android:label="@string/title_activity_user"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity android:name=".Signup" />
    <activity android:name=".TripsActivity" />
    <!--
         The API key for Google Maps-based APIs is defined as a string resource.
         (See the file "res/values/google_maps_api.xml").
         Note that the API key is linked to the encryption key used to sign the APK.
         You need a different API key for each encryption key, including the release key that is used to
         sign the APK for publishing.
         You can define the keys for the debug and release targets in src/debug/ and src/release/. 
    -->
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

    <activity
        android:name=".MapsActivity"
        android:label="@string/title_activity_maps"/>
</application>

I add your snipet code but throw weird errors. 我添加了您的代码片段,但抛出了奇怪的错误。 android got very angry. android很生气。

06-28 00:02:41.316 2509-2509/af.com.urban E/AndroidRuntime: FATAL EXCEPTION: main
                                                            Process: af.com.urban, PID: 2509
                                                            java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/location/places/AutocompleteFilter;
                                                                at com.google.android.gms.location.places.AutocompleteFilter$Builder.build(Unknown Source)
                                                                at af.com.urban.User.onCreate(User.java:91)
                                                                at android.app.Activity.performCreate(Activity.java:6942)
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880)
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988)
                                                                at android.app.ActivityThread.-wrap14(ActivityThread.java)
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:154)
                                                                at android.app.ActivityThread.main(ActivityThread.java:6682)
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
                                                             Caused by: java.lang.ClassNotFoundException: com.google.android.gms.location.places.AutocompleteFilter
                                                                at java.lang.VMClassLoader.findLoadedClass(Native Method)
                                                                at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                at com.google.android.gms.location.places.AutocompleteFilter$Builder.build(Unknown Source) 
                                                                at af.com.urban.User.onCreate(User.java:91) 
                                                                at android.app.Activity.performCreate(Activity.java:6942) 
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880) 
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
                                                                at android.app.ActivityThread.-wrap14(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:154) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:6682) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 
                                                             Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable;
                                                                at com.google.android.gms.location.places.AutocompleteFilter$Builder.build(Unknown Source) 
                                                                at af.com.urban.User.onCreate(User.java:91) 
                                                                at android.app.Activity.performCreate(Activity.java:6942) 
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880) 
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
                                                                at android.app.ActivityThread.-wrap14(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:154) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:6682) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 
                                                             Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable" on path: DexPathList[[zip file "/data/app/af.com.urban-1/base.apk"],nativeLibraryDirectories=[/data/app/af.com.urban-1/lib/arm64, /system/lib64, /vendor/lib64]]
                                                                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                                                                at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                at com.google.android.gms.location.places.AutocompleteFilter$Builder.build(Unknown Source) 
                                                                at af.com.urban.User.onCreate(User.java:91) 
                                                                at android.app.Activity.performCreate(Activity.java:6942) 
                                                                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
                                                                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880) 
                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
                                                                at android.app.ActivityThread.-wrap14(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:154) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:6682) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 
 /**Use the below code snipet**/

PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
      getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);


AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
    .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS)
    .build();
autocompleteFragment.setFilter(typeFilter);

autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
    // TODO: Get info about the selected place.
    Log.i(TAG, "Place: " + place.getName());//get place details here
}

@Override
public void onError(Status status) {
    // TODO: Handle the error.
    Log.i(TAG, "An error occurred: " + status);
}
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误:无法访问com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable的AbstractSafeParcelable类文件 - error: cannot access AbstractSafeParcelable class file for com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable not found ClassNotFoundException找不到类“ com.google.android.gms.common.internal.zzbq - ClassNotFoundException Didn't find class "com.google.android.gms.common.internal.zzbq 原因:java.lang.ClassNotFoundException:找不到类“ com.google.android.gms.common.internal.zzbq” - Caused by: java.lang.ClassNotFoundException: Didn't find class “com.google.android.gms.common.internal.zzbq” 没找到上课“com.google.android.gms.common.app.GmsApplication” - Didn't find class “com.google.android.gms.common.app.GmsApplication” 将 targetSdkVersion 提高到 28 时,在路径上找不到类“com.google.android.gms.common.R$string”:DexPathList - When raising targetSdkVersion to 28, Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList 谷歌地图没有找到类“com.google.android.gms.dynamic.zza” - Google Maps Didn't find class "com.google.android.gms.dynamic.zza" java.lang.ClassNotFoundException:未找到类“com.google.android.gms.ads.MobileAdsInitProvider” - java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.MobileAdsInitProvider" ClassNotFoundException:未找到类“com.google.android.gms.ads.AdView” - ClassNotFoundException: Didn't find class “com.google.android.gms.ads.AdView” 由java.lang.ClassNotFoundException引起找不到类“ com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver - Caused by java.lang.ClassNotFoundException Didn't find class "com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver 某些设备出错 - 无法找到“com.google.android.gms.measurement.internal.zzz”类 - Error on some devices - couldn't find class 'com.google.android.gms.measurement.internal.zzz'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM