简体   繁体   English

OnePlus One设备中的位置图崩溃

[英]Location map crash in OnePlus One device

my application got crash in OnePlus one device. 我的应用程序在OnePlus设备中崩溃了。 Following is the details of device 以下是设备的详细信息

Oneplus One(A0001) Oneplus One(A0001)

Cyanogen 13.1- ZNH2KAS1KN Cyanogen 13.1- ZNH2KAS1KN

Android 6.0.1 Android 6.0.1

Api Elderberry (5) Api接骨木(5)

And logcat shows error 并且logcat显示错误

Unable to start activity ComponentInfo{com.test/com.test.DetailsActivity}: android.view.InflateException: Binary XML file line #108: Binary XML file line #108: Error inflating class fragment -- Stack Trace -- java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.DetailsActivity}: android.view.InflateException: Binary XML file line #108: Binary XML file line #108: Error inflating class fragment at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5461) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.jav 无法启动活动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) Caused by: android.view.InflateException: Binary XML file line #108: Binary XML file line #108: Error inflating class fragment at android.view.LayoutInflater.inflate(LayoutInflater.java:539) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppComapatDelegateImplV7.java:256) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at com.test.DetailsActivity.onCreate(DetailsActivity.java:313) at android.app.Activity.performCreate(Activity.java:6251) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403) ... 9 more Caused by: android.view.InflateException: Binary XML file line #108: Error inflating class fragment at android.view.LayoutInflater.cre 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中输出类片段时出错 ateViewFromTag(LayoutInflater.java:782) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) ... 17 more Caused by: android.content.res.Resources$NotFoundException: File /data/system/theme/icons/com.test_7f030000_0.png from d 位于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 rawable resource ID #0x7f030000 at android.content.res.Resources.openRawResource(Resources.java:1336) at android.content.res.Resources.openRawResource(Resources.java:1306) at maps.VNa(Unknown Source) at maps.Dea(Unknown Source) at maps.Dpa(Unknown Source) at maps.ad.ae.a(Unknown Source) at maps.ad.ta(Unknown Source) at maps.ad.Ma(Unknown Source) at wd.onTransact(:com.google.android.gms.DynamiteModulesB:107) at android.os.Binder.transact(Binder.java:387) at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source) at com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(Unknown Source) at com.google.android.gms.dynamic.zza$4.zzb(Unknown Source) at com.google.android.gms.dynamic.zza.zza(Unknown Source) at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source) at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source) at com.test.fragments.CustomMapFragment.onCreateView(CustomMapFragment.java:39) at android.suppor 在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) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1036) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1226) at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1328) at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2284) at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:111) at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:314) at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:31) at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:754) ... 29 more Caused by: java.io.FileNotFoundException: /data/system/theme/icons/com.test_7f030000_0.png at android.content.res.AssetManager.openNonAssetN 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 ative(Native Method) at android.content.res.AssetManager.openNonAsset(AssetManager.java:423) at android.content.res.Resources.openRawResource(Resources.java:1333) ... 55 more 在Android.content.res.Resources.openRawResource(Resources.java:1333)的android.content.res.AssetManager.openNonAsset(AssetManager.java:423)上的ative(Native方法)... 55更多

I have added the map fragment in the layout file 我在布局文件中添加了地图片段

  <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);
        }
    }
}

Let me know if anyone face the same issue and found any solution to fix this crash. 让我知道是否有人面临同样的问题,并找到解决此崩溃的任何解决方案。

This worked for me,Moved all app launcher icons from mipmap folders to respective drawable folders. 这对我有用,将所有应用程序启动器图标从mipmap文件夹移动到相应的可绘制文件夹。 Removed mipmap folder. 删除了mipmap文件夹。 Change AndroidManifest.xml android:icon="@mipmap/ic_launcher" to android:icon="@drawable/ic_launcher" AndroidManifest.xml android:icon="@mipmap/ic_launcher"更改为android:icon="@drawable/ic_launcher"

NOTE : this is not recommended by Google,but a temporary workaround 注意 :Google不建议这样做,而是临时解决方法

I had a same problem on my Oneplus One, all I did is changed my device theme to default theme(system theme). 我在Oneplus One上遇到了同样的问题,我所做的就是将我的设备主题改为默认主题(系统主题)。 I didn't knew this was the problem until I found this question here. 直到我在这里发现这个问题,我才知道这是问题所在。 Thanks for raising the question. 谢谢你提出这个问题。

This known bug basically went away by Google updating their Play Services. 这个已知的错误基本上由Google更新其Play服务而消失。 Also, it was specific to Cyanogenmod in general, not just OnePlus. 此外,它一般特别针对Cyanogenmod,而不仅仅是OnePlus。

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

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