Android Studio应用程序安装问题

时间:2019-11-30 16:46:10

标签: android android-studio

当尝试在使用棉花糖API 23的手机上打开我的应用程序时,我在调试器中收到此错误,我在s10上很好地安装了此应用程序,并且可以完美播放,但是在s6上也没有问题,但是没有似乎通过了闪屏或打开而几乎没有立即崩溃。我知道如何构建APK并正确安装它,但问题出在提供的代码上。任何对这个错误有一定体会的人,如果您能够伸出援手,将不胜感激。

我遇到了一个话题,该话题讨论的是可绘制图像分辨率与游戏分辨率相比,但是我不知道这有多少关系。

我的代码中的错误代码

1) *com.example.finalprojectdkjw.StartActivity.onCreate(StartActivity.java:69)*
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start);

 2) *com.example.finalprojectdkjw.StartFragment.onCreateView(StartFragment.java:18)*
   public class StartFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_start, container, false);
    }

}

完整的错误代码消息

E / Android运行时:致命异常:主要     流程:com.example.finalprojectdkjw,PID:6640     java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.finalprojectdkjw / com.example.finalprojectdkjw.StartActivity}:android.view.InflateException:二进制XML文件行#9:二进制XML文件行#9:错误膨胀类         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)         在android.app.ActivityThread.-wrap11(ActivityThread.java)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:148)         在android.app.ActivityThread.main(ActivityThread.java:5417)         在java.lang.reflect.Method.invoke(本机方法)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)      原因:android.view.InflateException:二进制XML文件第9行:二进制XML文件第9行:膨胀类错误         在android.view.LayoutInflater.inflate(LayoutInflater.java:539)         在android.view.LayoutInflater.inflate(LayoutInflater.java:423)         在android.view.LayoutInflater.inflate(LayoutInflater.java:374)         在androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)         在androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)         在com.example.finalprojectdkjw.StartActivity.onCreate(StartActivity.java:69)         在android.app.Activity.performCreate(Activity.java:6237)         在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)         在android.app.ActivityThread.-wrap11(ActivityThread.java)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:148)         在android.app.ActivityThread.main(ActivityThread.java:5417)         在java.lang.reflect.Method.invoke(本机方法)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)      原因:android.view.InflateException:二进制XML文件第9行:膨胀类错误         在android.view.LayoutInflater.createView(LayoutInflater.java:645)         在com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)         在android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)         在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)         在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)         在android.view.LayoutInflater.rInflate(LayoutInflater.java:835)         在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)         在android.view.LayoutInflater.inflate(LayoutInflater.java:515)         在android.view.LayoutInflater.inflate(LayoutInflater.java:423)         在android.view.LayoutInflater.inflate(LayoutInflater.java:374)         在androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)         在androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)         在com.example.finalprojectdkjw.StartActivity.onCreate(StartActivity.java:69)         在android.app.Activity.performCreate(Activity.java:6237)         在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)         在android.app.ActivityThread.-wrap11(ActivityThread.java)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:148)         在android.app.ActivityThread.main(ActivityThread.java:5417)         在java.lang.reflect.Method.invoke(本机方法)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)      造成原因:java.lang.reflect.InvocationTargetException         在java.lang.reflect.Constructor.newInstance(本地方法)         在android.view.LayoutInflater.createView(LayoutInflater.java:619)         在com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)         在android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)         在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)         在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)         在android.view.LayoutInflater.rInflate(LayoutInflater.java:835)         在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)         在android.view.LayoutInflater.inflate(LayoutInflater.java:515)         在android.view.LayoutInflater.inflate(LayoutInflater.java:423)         在android.view.LayoutInflater.inflate(LayoutInflater.java:374)         在androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)         在androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)         在com.example.finalprojectdkjw.StartActivity.onCreate(StartActivity.java:69)         在android.app.Activity.performCreate(Activity.java:6237)         在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)         在android.app.ActivityThread.-wrap11(ActivityThread.java)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:148)         在android.app.ActivityThread.main(ActivityThread.java:5417)         在java.lang.reflect.Method.invoke(本机方法)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)      造成原因:android.content.res.Resources $ NotFoundException:资源“ com.example.finalprojectdkjw:drawable / startmenuimg”(7f06009b)不是Drawable(颜色或路径):TypedValue {t = 0x1 / d = 0x7f06009b a =- 1 r = 0x7f06009b}         在android.content.res.Resources.loadDrawableForCookie(Resources.java:2602)         在android.content.res.Resources.loadDrawable(Resources.java:2540)         在android.content.res.TypedArray.getDrawable(TypedArray.java:870)         在android.view.View。(View.java:3948)         在android.view.ViewGroup。(ViewGroup.java:573)         在android.widget.LinearLayout。(LinearLayout.java:203)         在android.widget.LinearLayout。(LinearLayout.java:199)         在android.widget.LinearLayout。(LinearLayout.java:195)         在java.lang.reflect.Constructor.newInstance(本地方法)         在android.view.LayoutInflater.createView(LayoutInflater.java:619)         在com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)         在android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)         在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)         在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)         在android.view.LayoutInflater.rInflate(LayoutInflater.java:835)         在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)         在android.view.LayoutInflater.inflate(LayoutInflater.java:515)         在android.view.LayoutInflater.inflate(LayoutInflater.java:423)         在android.view.LayoutInflater.inflate(LayoutInflater.java:374)         在androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)         在androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)         在com.example.finalprojectdkjw.StartActivity.onCreate(StartActivity.java:69)         在android.app.Activity.performCreate(Activity.java:6237)         在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)         在android.app.ActivityThread.-wrap11(ActivityThread.java)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:148)         在android.app.ActivityThread.main(ActivityThread.java:5417)         在java.lang.reflect.Method.invoke(本机方法)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

XML(ACTIVTY_START)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context="com.example.finalprojectdkjw.StartActivity">

    <fragment android:name="com.example.finalprojectdkjw.StartFragment"
        android:id="@+id/startFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </fragment>

</LinearLayout>

XML(FRAGMENT_START)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".StartFragment">

    <!-- TODO: Update blank fragment layout -->
    <LinearLayout
        android:id="@+id/mainMenu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/startmenuimg"
        android:visibility="visible">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:layout_marginTop="10dp">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_gravity="center">
                <TextView
                    android:layout_width="300dp"
                    android:layout_height="100dp"
                    android:background="@drawable/title"/>
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="130dp"
                android:orientation="horizontal"
                android:layout_gravity="center">
                <ImageView
                    android:layout_width="100dp"
                    android:layout_height="100dp"
                    android:layout_marginBottom="60dp"
                    android:src="@drawable/packyak" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_gravity="center">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/instruction1"
                    android:textSize="32sp"
                    android:textStyle="bold"/>
            </LinearLayout>
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_gravity="center">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/instruction2"
                    android:textSize="32sp"
                    android:textStyle="bold"/>
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_gravity="center">
                <TableLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="20dp">

                    <TableRow android:gravity="center_vertical">

                        <ImageView
                            android:layout_width="40dp"
                            android:layout_height="40dp"
                            android:src="@drawable/grassclean" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingLeft="10dp"
                            android:text="@string/cleanGrassRule"
                            android:textSize="22sp"
                            android:textStyle="bold"/>
                    </TableRow>

                    <TableRow
                        android:layout_marginTop="20dp"
                        android:gravity="center_vertical">

                        <ImageView
                            android:layout_width="40dp"
                            android:layout_height="40dp"
                            android:src="@drawable/grassdirty" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingLeft="10dp"
                            android:text="@string/dirtyGrassRule"
                            android:textSize="22sp"
                            android:textStyle="bold" />
                    </TableRow>

                    <TableRow android:gravity="center_vertical">

                        <ImageView
                            android:layout_width="55dp"
                            android:layout_height="55dp"
                            android:src="@drawable/glowarrowcropped" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingLeft="10dp"
                            android:text="@string/gameOverRule"
                            android:textSize="22sp"
                            android:textStyle="bold"/>
                    </TableRow>

                </TableLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_gravity="center"
                android:layout_marginBottom="5dp">

                <Button
                    android:id="@+id/btnStartGame"
                    android:layout_width="100dp"
                    android:layout_height="40dp"
                    android:layout_gravity="center"
                    android:background="@drawable/startimg" />

                <Button
                    android:id="@+id/btnScoreboard"
                    android:layout_width="195dp"
                    android:layout_height="25dp"
                    android:layout_gravity="center"
                    android:layout_marginTop="15dp"
                    android:layout_marginBottom="5dp"
                    android:background="@drawable/high_score" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_gravity="center">
                <Button
                    android:id="@+id/mutebutton"
                    android:layout_width="40dp"
                    android:layout_height="40dp"
                    android:background="@drawable/playt"/>
                <!--        android:onClick="play" />-->
                <!--    <Button-->
                <!--        android:layout_width="wrap_content"-->
                <!--        android:layout_height="wrap_content"-->
                <!--        android:text="pause"-->
                <!--        android:onClick="pause"/>-->
                <!--    <Button-->
                <!--        android:layout_width="wrap_content"-->
                <!--        android:layout_height="wrap_content"-->
                <!--        android:text="Mute"-->
                <!--        android:onClick="stop"/>-->
            </LinearLayout>

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/highScoreMenu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/scrollimg"
        android:visibility="gone">

        <ImageView
            android:layout_width="350dp"
            android:layout_height="100dp"
            android:src="@drawable/high_score"
            android:layout_gravity="center"
            android:layout_marginTop="30dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center">

            <Button
                android:id="@+id/btnScoreEasy"
                android:layout_width="110dp"
                android:layout_height="40dp"
                android:background="@drawable/easyscores"
                android:layout_marginEnd="20dp"/>

            <Button
                android:id="@+id/btnScoreHard"
                android:layout_width="110dp"
                android:layout_height="40dp"
                android:layout_marginStart="20dp"
                android:background="@drawable/hardscores"/>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="5">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Place"
                android:textStyle="bold"
                android:textSize="30sp"
                android:textAlignment="textStart"
                android:paddingStart="30dp"
                android:layout_marginStart="20dp"
                android:textColor="@color/scoreColor"
                android:layout_weight="1"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Name"
                android:textStyle="bold"
                android:textSize="30sp"
                android:textAlignment="center"
                android:textColor="@color/scoreColor"
                android:layout_weight="4"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Score"
                android:textStyle="bold"
                android:textSize="30sp"
                android:textAlignment="textEnd"
                android:paddingEnd="30dp"
                android:layout_marginEnd="20dp"
                android:textColor="@color/scoreColor"
                android:layout_weight="1"/>

        </LinearLayout>

        <!--Easy mode-->
        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/easyScoreboardRecyclerView"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="10"
            android:visibility="gone">
        </androidx.recyclerview.widget.RecyclerView>

        <!--Hard mode-->
        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/hardScoreboardRecyclerView"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="10"
            android:visibility="visible">
        </androidx.recyclerview.widget.RecyclerView>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginBottom="50dp"
            android:orientation="vertical">

            <Button
                android:id="@+id/btnTryAgain"
                android:layout_width="120dp"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:background="@drawable/retryimg"
                android:visibility="visible"/>

            <Button
                android:id="@+id/btnHomeScreen"
                android:layout_width="100dp"
                android:layout_height="35dp"
                android:background="@drawable/homeimg"/>

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/difficultyMenu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/scrollimg"
        android:weightSum="10"
        android:visibility="gone">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_weight="6">

            <Button
                android:id="@+id/btnReturn"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:background="@drawable/btn_return"
                android:layout_gravity="start"/>

            <ImageView
                android:layout_width="300dp"
                android:layout_height="100dp"
                android:src="@drawable/difficulty"
                android:layout_gravity="center"/>

        </LinearLayout>


        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginBottom="50dp">

            <Button
                android:id="@+id/btnEasy"
                android:layout_width="150dp"
                android:layout_height="200dp"
                android:layout_margin="5dp"
                android:background="@drawable/easy"/>

            <Button
                android:id="@+id/btnHard"
                android:layout_width="150dp"
                android:layout_height="200dp"
                android:layout_margin="5dp"
                android:background="@drawable/hard"/>


        </LinearLayout>

    </LinearLayout>

</FrameLayout>

1 个答案:

答案 0 :(得分:1)

更改

<fragment android:name="com.example.finalprojectdkjw.StartFragment"

<fragment class="com.example.finalprojectdkjw.StartFragment"

尽管android:nameclass属性被认为是可互换的,但是由于某些原因,android:name在某些设备上不起作用。

编辑

可能有多个原因导致此错误发生。如果上述解决方案不起作用,请尝试将片段onCreatView()的整个内容括在try catch块中,并记录异常错误,如下所示。它会给您更合理的错误信息。

public View onCreateView(LayoutInflater inflater, ViewGroup contnr, Bundle savedInstSt) {
    try {
       // ...
       return inflater.inflate(R.layout.fragment_start, container, false);

    } catch (Exception e) {
        Log.e(TAG, "onCreateView", e);
        throw e;
    }
}
相关问题