繁体   English   中英

OnePlus One设备中的位置图崩溃

[英]Location map crash in OnePlus One device

我的应用程序在OnePlus设备中崩溃了。 以下是设备的详细信息

Oneplus One(A0001)

Cyanogen 13.1- ZNH2KAS1KN

Android 6.0.1

Api接骨木(5)

并且logcat显示错误

无法启动活动ComponentInfo {com.test / com.test.DetailsActivity}:android.view.InflateException:二进制XML文件行#108:二进制XML文件行#108:错误膨胀类片段 - 堆栈跟踪 - java.lang .RuntimeException:无法启动活动ComponentInfo {com.test / com.test.DetailsActivity}:android.view.InflateException:二进制XML文件行#108:二进制XML文件行#108:在android.app.ActivityThread错误扩充类片段.performLaunchActivity(ActivityThread.java:2450)位于android.app.A活动中的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)android.app.ActivityThread $ H.handleMessage(ActivityThread)上的android.app.ActivityThread.-wrap11(ActivityThread.java) .java:1363)在android.app.A.运行时,android.O.Roper.loop(Looper.java:148)的android.os.Handler.dispatchMessage(Handler.java:102)处于android.app.ActivityThread.main(ActivityThread.java:5461) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.jav)中的java.lang.reflect.Method.invoke(Native Method) a:726)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)引起:android.view.InflateException:二进制XML文件行#108:二进制XML文件行#108:错误膨胀类片段在android.view.LayoutInflater.inflate(LayoutInflater.java:539)的android.view.LayoutInflater.inflate(LayoutInflater.java:423)android.view.LayoutInflater.inflate(LayoutInflater.java:374)在android.support。 v7.app.AppCompatDelegateImplV7.setContentView(AppComapatDelegateImplV7.java:256)在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)at com.test.DetailsActivity.onCreate(DetailsActivity.java:313)at android android.app.Anstrumentation.callActivityOnCreate(Instrumentation.java:1108)上的.app.Activity.performCreate(Activity.java:6251)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)... 9更多由:android.view.InflateException:二进制XML文件行#108:在android.view.LayoutInflater.cre中输出类片段时出错 位于android.view.LayoutInflater.rInflate(LayoutInflater.java:835)的android.view.LayoutInflater.rInflateChild的android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)中的ateViewFromTag(LayoutInflater.java:782)(LayoutInflater.java) :798)在android.view.LayoutInflater.rInflate(LayoutInflater.java:838)android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)android.view.LayoutInflater.rInflate(LayoutInflater.java:838)at android位于Android.view.LayoutInflater的android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)的android.view.LayoutInflater.rInflate(LayoutInflater.java:838)中的.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)。 rInflate(LayoutInflater.java:838)在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)android.view.LayoutInflater.inflate(LayoutInflater.java:515)... 17更多引起:android.content。 res.Resources $ NotFoundException:来自d的文件/data/system/theme/icons/com.test_7f030000_0.png 在android.content.res.Resources.openRawResource(Resources.java:1336)的android.content.res.Resources.openRawResource(Resources.java:1306)处的maps.VNa(未知来源)地图上的可编辑资源ID#0x7f030000。来自maps.ad.ae.a(未知来源)的maps.D.(未知来源)的map.Dpa(未知来源)的dea(未知来源)位于wd.onTransact的maps.ad.Ma(未知来源)处(未知来源) :com.google.android.gms.DynamiteModulesB:107)位于com.google.android.gms.maps.internal.IMapFragmentDelegate $ zza $ zza.onCreateView(未知)的android.os.Binder.transact(Binder.java:387)来自com.google.android.gms的com.google.android.gms.maps.SupportMapFragment $ zza.onCreateView(未知来源)com.google.android.gms.dynamic.zza $ 4.zzb(未知来源)。 com.google.and.z上的com.google.android.gms.maps.SupportMapFragment.onCreateView(未知来源)中com.google.android.gms.dynamic.zza.onCreateView(未知来源)的dynamic.zza.zza(未知来源)。 android.suppor上的fragment.CustomMapFragment.onCreateView(CustomMapFragment.java:39) t.v4.app.Fragment.performCreateView(Fragment.java:1962)位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1036)的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager。 java:1226)在android.support.v4.ment.FragmentManagerImpl.addFragment(FragmentManager.java:1328)的android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2284)android.support.v4.app上的android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1328) .sragmentController.onCreateView(FragmentController.java:111)位于android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:314)的android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:31)at android.sview.LayoutInflater.createViewFromTag(LayoutInflater.java:754)中的android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79)... 29更多引起:java.io.FileNotFoundException:/ data / android.content.res.AssetManager.openNonAssetN上的system / theme / icons / com.test_7f030000_0.png 在Android.content.res.Resources.openRawResource(Resources.java:1333)的android.content.res.AssetManager.openNonAsset(AssetManager.java:423)上的ative(Native方法)... 55更多

我在布局文件中添加了地图片段

  <fragment
          android:id="@+id/fragment_map"
          android:name="com.test.fragments.CustomMapFragment"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_alignParentTop="true"
          android:layout_centerHorizontal="true"
          android:tag="fragment_map" />


public class CustomMapFragment extends SupportMapFragment {

    private OnTouchListener mListener;

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View layout = super.onCreateView(inflater, container, savedInstanceState);
        TouchableWrapper frameLayout = new TouchableWrapper(getActivity());
        ((ViewGroup) layout).addView(frameLayout,
                new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        return layout;
    }

    public void setListener(OnTouchListener listener) {
        mListener = listener;
    }

    public interface OnTouchListener {
        void onTouch();
    }

    public class TouchableWrapper extends FrameLayout {

        public TouchableWrapper(Context context) {
            super(context);
        }

        @Override
        public boolean dispatchTouchEvent(MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    mListener.onTouch();
                    break;
                case MotionEvent.ACTION_UP:
                    mListener.onTouch();
                    break;
            }
            return super.dispatchTouchEvent(event);
        }
    }
}

让我知道是否有人面临同样的问题,并找到解决此崩溃的任何解决方案。

这对我有用,将所有应用程序启动器图标从mipmap文件夹移动到相应的可绘制文件夹。 删除了mipmap文件夹。 AndroidManifest.xml android:icon="@mipmap/ic_launcher"更改为android:icon="@drawable/ic_launcher"

注意 :Google不建议这样做,而是临时解决方法

我在Oneplus One上遇到了同样的问题,我所做的就是将我的设备主题改为默认主题(系统主题)。 直到我在这里发现这个问题,我才知道这是问题所在。 谢谢你提出这个问题。

这个已知的错误基本上由Google更新其Play服务而消失。 此外,它一般特别针对Cyanogenmod,而不仅仅是OnePlus。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM