17

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

一加一(A0001)

氰 13.1- ZNH2KAS1KN

安卓 6.0.1

阿皮接骨木 (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.ActivityThread.handleLaunchActivity(ActivityThread.java:2510) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread .java:1363) 在 android.app 的 android.os.Handler.dispatchMessage(Handler.java:102) 的 android.os.Looper.loop(Looper.java:148)ActivityThread.main(ActivityThread.java:5461) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 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.app 的 com.test.DetailsActivity.onCreate(DetailsActivity.java:313) 的 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)。Activity.performCreate(Activity.java:6251) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403) ... 9 更多原因:android。 view.InflateException:二进制 XML 文件第 108 行:在 android.view 的 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 的 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782) 处膨胀类片段时出错。 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) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 在 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) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) ... 17 更多原因:android.content.res.Resources$NotFoundException :文件 /data/system/theme/icons/com.test_7f030000_0.png 来自可绘制资源 ID #0x7f030000 在 android.content.res.Resources.openRawResource(Resources.java:1336) 在 android.content.res.Resources.openRawResource( Resources.java:1306) 在 maps.VNa(Unknown Source) 在 maps.Dea(Unknown Source) 在 maps.Dpa(Unknown Source) 在 maps.ad.ae.a(Unknown Source) 在 maps.ad.t。a(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.support.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.app.FragmentManagerImpl.addFragment(FragmentManager.java:1328) 在 android.support .v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2284) 在 android.support.v4.app.FragmentController.onCreateView(FragmentController.java:111) 在 android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java :314) 在 android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79) 在 android.view.LayoutInflater.createViewFromTag( LayoutInflater.java:754) ... 29 更多原因:java.io.FileNotFoundException:/data/system/theme/icons/com.test_7f030000_0.png 在 android.content.res.AssetManager.openNonAssetNative(Native Method) 在 android.content.res.AssetManager.openNonAsset(AssetManager.java:423) 在 android.content。 res.Resources.openRawResource(Resources.java:1333) ... 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);
        }
    }
}

如果有人遇到同样的问题并找到解决此崩溃的任何解决方案,请告诉我。

4

3 回答 3

6

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

注意:这不是谷歌推荐的,而是一个临时的解决方法

于 2016-10-20T05:29:26.237 回答
3

我的 Oneplus One 也遇到了同样的问题,我所做的只是将我的设备主题更改为默认主题(系统主题)。在我在这里找到这个问题之前,我不知道这是问题所在。感谢您提出问题。

于 2016-10-24T07:07:12.020 回答
0

Google 更新了他们的 Play 服务后,这个已知的 bug基本上就消失了。此外,它通常特定于 Cyanogenmod,而不仅仅是 OnePlus。

于 2016-11-29T19:40:43.203 回答