Android Studio项目适用于Lollipop,但不适用于Kitkat

伊亚德·曼纳

我有一个Android Studio项目,该项目在具有Android构建版本Lollipop的设备上运行正常,但是在尝试在具有Android构建版本Kitkat的设备上运行该项目时抛出了异常。这是我项目的build.gradle文件:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

            renderscriptTargetApi 22
            renderscriptSupportModeEnabled true

    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/org.apache.commons.io.jar')
    compile files('libs/commons-codec-1.10.jar')
    compile('com.twitter.sdk.android:twitter:1.6.0@aar') {
        transitive = true;
    }
    compile files('libs/pinit-sdk-1.0.jar')
    compile project(':bounceScroller')
    compile 'com.ogaclejapan.smarttablayout:library:1.2.1@aar'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.android.support:appcompat-v7:21.2.0'
    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
    compile 'com.nineoldandroids:library:2.4.+'
    compile 'com.esri.arcgis.android:arcgis-android:10.2.6-2'
    compile 'com.github.clans:fab:1.5.3'
    compile 'com.github.pedrovgs:draggablepanel:1.8'
    compile 'com.android.support:support-v4:21.2.0'
    compile 'com.ogaclejapan.smarttablayout:utils-v4:1.2.1@aar'
    compile 'com.github.bumptech.glide:glide:3.6.0'
    compile project(':rangeseekbar')
    compile 'com.android.support:recyclerview-v7:22.2.0'
    compile 'com.android.support:cardview-v7:22.2.0'
    compile project(':blurry')
    compile 'com.google.android.gms:play-services:7.8.0'
}

这是我在Kitkat设备上运行应用程序时遇到的错误:

java.lang.RuntimeException: Unable to start activity: android.view.InflateException: Binary XML file line #14: Error inflating class android.support.v4.view.ViewPager
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class android.support.v4.view.ViewPager
            at android.view.LayoutInflater.createView(LayoutInflater.java:626)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:359)
            at android.app.Activity.setContentView(Activity.java:2010)
            at android.visitabudhabi.com.vad.Walkthrough.onCreate(Walkthrough.java:32)
            at android.app.Activity.performCreate(Activity.java:5426)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at android.view.LayoutInflater.createView(LayoutInflater.java:600)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:359)
            at android.app.Activity.setContentView(Activity.java:2010)
            at android.visitabudhabi.com.vad.Walkthrough.onCreate(Walkthrough.java:32)
            at android.app.Activity.performCreate(Activity.java:5426)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NoClassDefFoundError: android.support.v4.view.ViewConfigurationCompatFroyo
            at android.support.v4.view.ViewConfigurationCompat$FroyoViewConfigurationVersionImpl.getScaledPagingTouchSlop(ViewConfigurationCompat.java:56)
            at android.support.v4.view.ViewConfigurationCompat.getScaledPagingTouchSlop(ViewConfigurationCompat.java:105)
            at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:368)
            at android.support.v4.view.ViewPager.<init>(ViewPager.java:356)
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at android.view.LayoutInflater.createView(LayoutInflater.java:600)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:359)
            at android.app.Activity.setContentView(Activity.java:2010)
            at android.visitabudhabi.com.vad.Walkthrough.onCreate(Walkthrough.java:32)
            at android.app.Activity.performCreate(Activity.java:5426)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
            at android.app.ActivityThread.access$900(ActivityThread.java:161)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)

这是我的具有ViewPager的XML:

<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"
    android:orientation="vertical"
>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:overScrollMode="never" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:layout_below="@+id/pager"
        android:layout_gravity="bottom"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/first"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="3.3"
            android:background="#c7333f" />

        <ImageView
            android:id="@+id/second"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="3.3"
            android:background="#FFF" />

        <ImageView
            android:id="@+id/third"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="3.3"
            android:background="#fff" />
    </LinearLayout>


</FrameLayout>

有人知道如何解决这个问题吗?

伊亚德·曼纳

如果有人到这里,这就是我解决问题的方式。

在深入研究问题之后,我发现这不是膨胀的异常,尽管那是logcat所说的,真正的异常是由臭名昭著的65K问题引起的OutOfMemory异常,请单击此处以获取有关该问题的更多信息,并将其包裹在夸大其辞。

为了解决该问题,我首先在build.gradle文件中添加了multidex支持库:

compile 'com.android.support:multidex:1.0.0'

然后,我按照以下三个简单步骤进行操作:

  1. 如果您自己没有实现Application类,则可以在Android Manifest文件中的application标记下简单地定义库的MultiDexApplication:

    android:name =“ android.support.multidex.MultiDexApplication”

  2. 如果要实现自己的Application类,则可以简单地重写MultiDexApplication文件:

    公共类MyAwesomeApplication扩展了MultiDexApplication {

  3. 或者,如果您的应用程序类已经在扩展另一个类,则可以重写attachBaseContext方法并向其添加以下调用:

    @Override protected void attachBaseContext(Context base){super.attachBaseContext(context); Multidex.install(this); }

我已经有自己的应用程序类,它从“应用程序”类扩展而来,因此我直接跳到了第3步,瞧它在Kitkat和Lollipop上都可以使用。

希望这对任何人都有帮助。编码愉快。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

setOnEditorActionListener不适用于android kitkat

来自分类Dev

onCheckedChangeListener不适用于Android Studio

来自分类Dev

android开关样式不适用于KitKat(4.4.2)

来自分类Dev

VSCode中的Flutter beta热重装适用于Web,但不适用于iOS和Android(适用于Android Studio)

来自分类Dev

Ionic-开机画面适用于iOS,但不适用于Android

来自分类Dev

Google Maps适用于Android Release APK,但不适用于AAB

来自分类Dev

样式参考适用于UWP,但不适用于Android或Wasm

来自分类Dev

window.open(“ sms:...”)适用于android,但不适用于ios

来自分类Dev

代码适用于Java,但不适用于Android

来自分类Dev

Android:代码适用于 api 19 但不适用于 api 24

来自分类Dev

Android 设备的 autoGrantPermissions 适用于 Windows、Linux,但不适用于 OSX

来自分类Dev

wcf https 适用于我的本地电脑,但不适用于 android

来自分类Dev

Android 谷歌地图适用于模拟器,但不适用于真机

来自分类Dev

CountDownTimer 适用于 Android Studio,不适用于设备

来自分类Dev

如果语句不适用于android studio

来自分类Dev

渐变颜色不适用于android studio中的按钮

来自分类Dev

Mapbox示例地图不适用于Android Studio / Genymotion

来自分类Dev

Android Studio 错误:@Override 不适用于字段

来自分类Dev

Android - 创建文件适用于 Android 5 但不适用于 Android 6 或更高版本

来自分类Dev

UtteranceProgressListener不适用于Android TTS

来自分类Dev

ListView onItemClickListener不适用于Android

来自分类Dev

setOnTouchListener不适用于android Fragment

来自分类Dev

findFirstVisibleItemPositions不适用于recycleview android

来自分类Dev

Xamarin部署不适用于Android

来自分类Dev

Android <include>不适用于ViewBinding

来自分类Dev

Android主题不适用于活动

来自分类Dev

Android SImpleDateFormat不适用于“ yyyy -...”

来自分类Dev

Android setText不适用于scrollview

来自分类Dev

Android Clickable不适用于ListView

Related 相关文章

  1. 1

    setOnEditorActionListener不适用于android kitkat

  2. 2

    onCheckedChangeListener不适用于Android Studio

  3. 3

    android开关样式不适用于KitKat(4.4.2)

  4. 4

    VSCode中的Flutter beta热重装适用于Web,但不适用于iOS和Android(适用于Android Studio)

  5. 5

    Ionic-开机画面适用于iOS,但不适用于Android

  6. 6

    Google Maps适用于Android Release APK,但不适用于AAB

  7. 7

    样式参考适用于UWP,但不适用于Android或Wasm

  8. 8

    window.open(“ sms:...”)适用于android,但不适用于ios

  9. 9

    代码适用于Java,但不适用于Android

  10. 10

    Android:代码适用于 api 19 但不适用于 api 24

  11. 11

    Android 设备的 autoGrantPermissions 适用于 Windows、Linux,但不适用于 OSX

  12. 12

    wcf https 适用于我的本地电脑,但不适用于 android

  13. 13

    Android 谷歌地图适用于模拟器,但不适用于真机

  14. 14

    CountDownTimer 适用于 Android Studio,不适用于设备

  15. 15

    如果语句不适用于android studio

  16. 16

    渐变颜色不适用于android studio中的按钮

  17. 17

    Mapbox示例地图不适用于Android Studio / Genymotion

  18. 18

    Android Studio 错误:@Override 不适用于字段

  19. 19

    Android - 创建文件适用于 Android 5 但不适用于 Android 6 或更高版本

  20. 20

    UtteranceProgressListener不适用于Android TTS

  21. 21

    ListView onItemClickListener不适用于Android

  22. 22

    setOnTouchListener不适用于android Fragment

  23. 23

    findFirstVisibleItemPositions不适用于recycleview android

  24. 24

    Xamarin部署不适用于Android

  25. 25

    Android <include>不适用于ViewBinding

  26. 26

    Android主题不适用于活动

  27. 27

    Android SImpleDateFormat不适用于“ yyyy -...”

  28. 28

    Android setText不适用于scrollview

  29. 29

    Android Clickable不适用于ListView

热门标签

归档