不幸的是,我的应用程序在API 16到24上运行时停止,但在API 25上运行

时间:2018-06-06 22:46:01

标签: android genymotion

我正在构建一个从API 16向上定位的图书应用,但在API 16 - 24模拟器中运行它时总是会出现此错误。它只能在API 25 - 27模拟器上运行时正确加载而不会出错。但是当我排除ImageView Widget时,它在API 16 up模拟器上正确运行。我如何解决这个问题,因为我需要ImageView在应用程序中运行。这是图像视图和布局的activity_main.xml文本。

<ImageView
    android:id="@+id/logo"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:contentDescription="@null"
    android:scaleType="centerCrop"
    app:layout_constraintBottom_toTopOf="@+id/getstarted"
    app:layout_constraintDimensionRatio="w,3:2"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintStart_toStartOf="@+id/guideline"
    app:layout_constraintTop_toBottomOf="@+id/wclnote2"
    app:srcCompat="@drawable/logoview" /> 


<?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center|fill"
    tools:context=".MainActivity">
</android.support.constraint.ConstraintLayout>

gradle文件

apply plugin: 'com.android.application'

    android {
    compileSdkVersion 27
    defaultConfig {
    applicationId "com.example.godwinacquah.studybuddy"
    minSdkVersion 17
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner 
    "android.support.test.runner.AndroidJUnitRunner"
       }
       buildTypes {
            release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
            'proguard-rules.pro'
             }
       }
      android.defaultConfig.vectorDrawables.useSupportLibrary = true
       }

     dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     implementation 'com.android.support:appcompat-v7:27.0.2'
     implementation 'com.android.support.constraint:constraint-layout:1.1.0- 
     beta3'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'com.android.support.test:runner:1.0.1'
     androidTestImplementation 'com.android.support.test.espresso:espresso- 
     core:3.0.1'
     implementation 'com.android.support:design:27.0.2'
     }

这是完整的布局xml代码

<?xml version="1.0" encoding="utf-8"?>
 <android.support.constraint.ConstraintLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_gravity="center|fill"
 tools:context=".MainActivity">

<TextView
    android:id="@+id/wlcnote1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="100dp"
    android:gravity="center"
    android:text="@string/note1"
    android:textAppearance="@style/TextAppearance.AppCompat.Title"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="@+id/guideline"
    app:layout_constraintTop_toTopOf="parent" />

<android.support.constraint.Guideline
    android:id="@+id/guideline"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_begin="16dp" />

<android.support.constraint.Guideline
    android:id="@+id/guideline2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_end="16dp" />

<TextView
    android:id="@+id/wclnote2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="24dp"
    android:gravity="center"
    android:text="@string/note2"
    android:textAppearance="@style/TextAppearance.AppCompat.Title"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintStart_toStartOf="@+id/guideline"
    app:layout_constraintTop_toBottomOf="@+id/wlcnote1" />

<Button
    android:id="@+id/getstarted"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="24dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:background="?attr/colorPrimary"
    android:text="Get Started"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintStart_toStartOf="@+id/guideline" />


<ImageView
    android:id="@+id/logo"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:contentDescription="@null"
    android:scaleType="centerCrop"
    app:layout_constraintBottom_toTopOf="@+id/getstarted"
    app:layout_constraintDimensionRatio="w,3:2"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintStart_toStartOf="@+id/guideline"
    app:layout_constraintTop_toBottomOf="@+id/wclnote2"
    app:srcCompat="@drawable/logoview" />

</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

可能是因为你在ConstrainLayout之上定义了ImageView,或者在ImageView上面添加了这一行

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/logo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:contentDescription="@null"
        android:scaleType="centerCrop"
        app:layout_constraintBottom_toTopOf="@+id/getstarted"
        app:layout_constraintDimensionRatio="w,3:2"
        app:layout_constraintEnd_toStartOf="@+id/guideline2"
        app:layout_constraintStart_toStartOf="@+id/guideline"
        app:layout_constraintTop_toBottomOf="@+id/wclnote2"
        app:srcCompat="@drawable/logoview" /> 


        <android.support.constraint.ConstraintLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center|fill"
        tools:context=".MainActivity"/>
    </android.support.constraint.ConstraintLayout>

答案 1 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center|fill"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/logo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:contentDescription="@null"
        android:scaleType="centerCrop"
        app:layout_constraintBottom_toTopOf="@+id/getstarted"
        app:layout_constraintDimensionRatio="w,3:2"
        app:layout_constraintEnd_toStartOf="@+id/guideline2"
        app:layout_constraintStart_toStartOf="@+id/guideline"
        app:layout_constraintTop_toBottomOf="@+id/wclnote2"
        app:srcCompat="@drawable/logoview" /> 

</android.support.constraint.ConstraintLayout>