java - Android 默认 min sdk 不工作

标签 java android gradle telegram android-min-sdk

我是新手,正在编译 Android 源代码(Telegram 应用程序),我的问题是 build.gradle 文件包含 4 minSdkVersion,并且我无法在低于 sdk 23 的版本上运行我的应用程序。

当然,我的默认最小 sdk 设置为 14。我不知道为什么它不起作用,而且我无法在低于 23 的系统上运行它。

我的build.gradle文件是:

apply plugin: 'com.android.application'

repositories {
    mavenCentral()
    jcenter()
}

configurations {
    compile.exclude module: 'support-v4'
}

dependencies {
    compile 'com.google.android.gms:play-services-gcm:10.2.0'
    compile 'com.google.android.gms:play-services-maps:10.2.0'
    compile 'com.google.android.gms:play-services-vision:10.2.0'
    compile 'com.android.support:support-core-ui:25.3.0'
    compile 'com.android.support:support-compat:25.3.0'
    compile 'com.android.support:support-core-utils:25.3.0'
    compile 'com.android.support:support-v13:25.3.0'
    compile 'com.android.support:palette-v7:25.3.0'
    compile 'net.hockeyapp.android:HockeySDK:4.1.2'
    compile 'com.googlecode.mp4parser:isoparser:1.0.6'
    compile 'com.stripe:stripe-android:2.0.2'
    compile 'com.android.support:support-v4:25.3.0'
    compile 'com.android.support:recyclerview-v7:25.3.0'
    compile 'com.android.support:design:25.3.0'
    compile 'com.android.volley:volley:1.0.0'



}

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    useLibrary 'org.apache.http.legacy'
    defaultConfig.applicationId = "org.telegram.plusmess"


    sourceSets.main.jniLibs.srcDirs = ['./jni/']

    externalNativeBuild {
        ndkBuild {
            path "jni/Android.mk"
        }
    }

    dexOptions {
        jumboMode = true
        javaMaxHeapSize "4g"

    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    signingConfigs {
//        debug {
//            storeFile file("config/release.keystore")
//            storePassword RELEASE_STORE_PASSWORD
//            keyAlias RELEASE_KEY_ALIAS
//            keyPassword RELEASE_KEY_PASSWORD
//            v2SigningEnabled false
//        }
//
//        release {
//            storeFile file("config/release.keystore")
//            storePassword RELEASE_STORE_PASSWORD
//            keyAlias RELEASE_KEY_ALIAS
//            keyPassword RELEASE_KEY_PASSWORD
//            v2SigningEnabled false
//        }
    }
    buildTypes {
        debug {
            debuggable true
            jniDebuggable true
            //signingConfig signingConfigs.debug

        }

        release {
            debuggable false
            jniDebuggable false
//            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        foss {
            debuggable false
            jniDebuggable false

            //signingConfig signingConfigs.release
        }
    }

    defaultConfig.versionCode = 957

    sourceSets.debug {
        manifest.srcFile 'config/debug/AndroidManifest.xml'
    }

    sourceSets.release {
        manifest.srcFile 'config/release/AndroidManifest.xml'
    }

    sourceSets.foss {
        manifest.srcFile 'config/foss/AndroidManifest.xml'
    }

    productFlavors {
        x86 {
            ndk {
                abiFilter "x86"
            }
            versionCode = 2
        }
        armv7 {
            ndk {
                abiFilter "armeabi-v7a"
            }
            versionCode = 1
        }
        x86_SDK23 {
            ndk {
                abiFilter "x86"
            }
            sourceSets.debug {
                manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
            }
            sourceSets.release {
                manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
            }
            minSdkVersion 23
            versionCode = 4
        }
        armv7_SDK23 {
            ndk {
                abiFilter "armeabi-v7a"
            }
            sourceSets.debug {
                manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
            }
            sourceSets.release {
                manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
            }
            minSdkVersion 23
            versionCode = 3
        }
        fat {
            sourceSets.debug {
                manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
            }
            sourceSets.release {
                manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
            }
            versionCode = 5
        }
    }

    applicationVariants.all { variant ->
        def abiVersion = variant.productFlavors.get(0).versionCode
        variant.mergedFlavor.versionCode = defaultConfig.versionCode * 10 + abiVersion
    }

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 25
        versionName "3.18.0"
        multiDexEnabled true

        externalNativeBuild {
            ndkBuild {
                arguments "NDK_APPLICATION_MK:=jni/Application.mk", "APP_PLATFORM:=android-14"
                abiFilters "armeabi-v7a", "x86"
            }
        }
    }
}

apply plugin: 'com.google.gms.google-services'

提前致谢。

最佳答案

搜索 minSdkVersion 23 并将其更改为 14。

请检查您的 Android list

我发现

x86_SDK23 {
            ndk {
                abiFilter "x86"
            }
            sourceSets.debug {
                manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
            }
            sourceSets.release {
                manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
            }
            >>> [minSdkVersion 23]
            versionCode = 4
        }
        armv7_SDK23 {
            ndk {
                abiFilter "armeabi-v7a"
            }
            sourceSets.debug {
                manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
            }
            sourceSets.release {
                manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
            }
            >>> [minSdkVersion 23]
            versionCode = 3
        }

关于java - Android 默认 min sdk 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45161121/

相关文章:

java - 将许多不同的 Swing 对象添加到面板/框架的有效方法。 ( java )

java - 如何使用相同的库两次配置不同版本的 Maven

带有 ellipsize 属性的 Android TextView 从原来的位置移动了

android - 如何在 Android 上制作我自己的安全 VOIP 应用程序?

java - 如何将 Spring boot 和 Angular 应用程序部署为单个 war 文件?

java - libGDX、Box2D、碰撞和禁止空中跳跃

java - OpenCV 无法打开视频 Windows 8.1

android - 在android中切换布局时出错

Android 构建变体不适用于不同的口味

gradle - 如何将 Gradle 中的原生 JUnit 5 支持与 Kotlin DSL 结合使用?