OnePlus One设备

时间:2016-10-18 13:40:20

标签: android google-maps location oneplusone

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

Oneplus One(A0001)

氰13.1-ZNH2KAS1KN

Android 6.0.1

Api Elderberry(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.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.java:726)   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)引起   by:android.view.InflateException:二进制XML文件行#108:二进制   XML文件行#108:错误膨胀类片段   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)   在   android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)   在com.test.DetailsActivity.onCreate(DetailsActivity.java:313)at   android.app.Activity.performCreate(Activity.java:6251)at   android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)   在   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)   ... 9更多引起:android.view.InflateException:二进制XML文件   第#108行:在类处碎片时出错   android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782)   在   android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)   在android.view.LayoutInflater.rInflate(LayoutInflater.java:835)at   android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)   在android.view.LayoutInflater.rInflate(LayoutInflater.java:838)处   android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)   在android.view.LayoutInflater.rInflate(LayoutInflater.java:838)处   android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)   在android.view.LayoutInflater.rInflate(LayoutInflater.java:838)处   android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)   在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:File   来自drawable的/data/system/theme/icons/com.test_7f030000_0.png   资源ID#0x7f030000 at   android.content.res.Resources.openRawResource(Resources.java:1336)at   android.content.res.Resources.openRawResource(Resources.java:1306)at   地图.V.N.a(未知来源)at maps.D.e.a(未知来源)at   地图.D.p.a(未知来源)at maps.ad.ae.a(未知来源)at   maps.ad.t.a(未知来源)在maps.ad.M.a(未知来源)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(未知   来源)at   com.google.android.gms.maps.SupportMapFragment $ zza.onCreateView(未知   来自)com.google.android.gms.dynamic.zza $ 4.zzb(未知来源)at   com.google.android.gms.dynamic.zza.zza(未知来源)at   com.google.android.gms.dynamic.zza.onCreateView(未知来源)at   com.google.android.gms.maps.SupportMapFragment.onCreateView(未知   来源)at   com.test.fragments.CustomMapFragment.onCreateView(CustomMapFragment.java:39)   在   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.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:31)   在   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 at   android.content.res.AssetManager.openNonAssetNative(Native Method)at   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);
        }
    }
}

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

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

known bug基本上已被Google更新其Play服务所取消。此外,它一般特别针对Cyanogenmod,而不仅仅是OnePlus。