相关疑难解决方法(0)

compileSdkVersion和targetSdkVersion有什么区别?

我已经看了看文档与摇篮建设,但我仍然不知道什么之间的差异compileSdkVersion,并targetSdkVersion为.

它只是说:

compileSdkVersion属性指定编译目标.

那么,"汇编目标"是什么?

我看到两种可能的解释方式:

  1. compileSdkVersion在构建应用程序所使用的编译器的版本,同时targetSdkVersion"API级别的应用程序的目标".(如果是这种情况,我认为compileSdkVersion必须大于或等于targetSdkVersion
  2. 他们的意思是一样的."编译目标"=="应用程序所针对的API级别"
  3. 别的什么?

我看到之前已经问过这个问题,但是一个答案只引用了文档,这对我来说是不清楚的.

sdk android android-build android-gradle-plugin

495
推荐指数
7
解决办法
19万
查看次数

更改API级Android Studio

我想将Android Studio中的最低SDK版本从API 12更改为API 14.我尝试在清单文件中更改它,即

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="18" />
Run Code Online (Sandbox Code Playgroud)

并重建项目,但我仍然得到Android Studio IDE抛出一些错误.我认为我必须在"项目属性"或类似的东西中设置min SDK,以便IDE识别出更改,但我无法在Android Studio中找到这样做的地方.

sdk android android-studio android-api-levels

399
推荐指数
8
解决办法
59万
查看次数

build.gradle(Project)和build.gradle(Module)之间的区别

我正在尝试将Android异步Http客户端的依赖项添加到我的项目中.所以项目中有两个build.gradle文件.

在此输入图像描述

根据我的理解,有不同类型的依赖:

  1. 在build.gradle的根级别定义的一个(Project:My-app)
  2. 一个在build.gradle的构建脚本中(Project:My-app)
  3. 另一个是build.gradle(Modules:app)

这个问题是关于buildScript的依赖关系的存储库,解释一下前两种类型.

另外build.gradle(Project:My-app)说

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Run Code Online (Sandbox Code Playgroud)

所以我想Android Asynchronous Http Client的依赖代码应该在build.gradle(Module:app)中添加.

如果有人能够清楚地了解所有这些以便更好地理解,那就太棒了.

android android-studio build.gradle

87
推荐指数
3
解决办法
4万
查看次数

Flutter项目中“flutter.minSdkVersion”的值在哪里初始化的?

我创建了一个新的 Flutter 项目,文件中的 minSdkVersion 如下所示app/build.gradle

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion flutter.minSdkVersion
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}
Run Code Online (Sandbox Code Playgroud)

set的值在哪里flutter.minSdkVersion

请注意,以前,该配置值如下所示:

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion 19 //*** This is the part that needs to be changed, previously was 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Run Code Online (Sandbox Code Playgroud)

另外,这是文件的内容android/local.properties

sdk.dir=/Users/usernaem/Library/Android/sdk
flutter.sdk=/Users/username/flutter
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.versionCode=1
Run Code Online (Sandbox Code Playgroud)

可以看到,flutter.minSdkVersion …

android android-min-sdk flutter

23
推荐指数
1
解决办法
6267
查看次数

android SDK 24的buildToolsVersion是什么?

关于这一点我没说太多.那好吧.谷歌发布了一个名为Nougat(android N)的新版android.它是compileSdkVersion 24.但是,在官方文档中的构建工具页面上,没有提到它.

我想让我的应用程序100%的人使用Google Play商店,其中包括Android N用户.

tl;博士:我应该在buildToolsVersion字段中填写什么?

谢谢.

android build-tools android-buildconfig

15
推荐指数
2
解决办法
3万
查看次数

Android Studio AndroidManifest.xml vs build.gradle

如果有人能帮助我理解有关Android Studio的一些事情,那将是最具启发性的.

所以,我已经在一个月前从Eclipse切换到Android Studio,到目前为止我只处理过迁移的应用程序.因此,我一直在修补Eclipse中常见的AndroidManifest.xml文件.

然而,最近,我开始创建一个新项目,以便从头开始学习Android Studio与Eclipse的差异.除了我遇到的非常恼人的appcompat_v7问题之外,我还对build.gradle的一些事情感到困惑.

以下是从Android Studio创建的应用中的gradle代码块:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'

    defaultConfig {
        applicationId "com.myapp"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.2.0'
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:mediarouter-v7:22.2.0'
}
Run Code Online (Sandbox Code Playgroud)

另一方面,下面是迁移的Eclipse项目的build.gradle中的代码块:

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':google-play-services_lib')
}

android {
    compileSdkVersion 21
    buildToolsVersion '22.0.1'

    sourceSets {
        main { …
Run Code Online (Sandbox Code Playgroud)

java xml eclipse android android-studio

12
推荐指数
1
解决办法
5865
查看次数

应该编译sdk低于目标sdk

关于SO的压倒性建议是编译SDK通常应该与目标SDK匹配.

同样,建议将此[compileSdk]与目标sdk版本匹配.

... CompileSDK(通常等于目标SDk版本)版本.

这里明确的建议是:

通常,您应该针对应用程序可以支持的最低版本的平台编译应用程序.

我总是编译sdk匹配目标sdk,但自从阅读以来我意识到我和许多SO答案都是错误的.

我的问题是,使它们匹配有什么害处,或者反过来说,拥有最低编译sdk版本的优势是什么?

android

8
推荐指数
1
解决办法
2001
查看次数

我应该为compileSdkVersion,minSdkVersion和targetSdkVersion设置什么?

我关心我应该怎么设置compileSdkVersion,minSdkVersion以及targetSdkVersion要.

  1. 我首先关心的是,如果我将现在设置compileSdkVersion为最新的23,旧设备能够运行吗?

  2. 我如何确切地知道我应该怎样做minSdkVersion以确保运行较低api或版本的手机无法访问它(我不想将最小sdk设置得太高,因为这会阻止可能运行应用程序的手机)?

  3. 我该如何设置targetSdkVersion

android build android-gradle-plugin

8
推荐指数
2
解决办法
1万
查看次数

Jetpack Compose 支持哪些 Android 版本?

我在网上搜索这个非常基本的问题,但找不到答案。Jetpack Compose 是否只能在 sdk 31 上工作,还是可以在以前的 Android 版本上工作?如果它是半向后兼容的,我如何在以前的版本中使用它?

android android-jetpack-compose

5
推荐指数
1
解决办法
4081
查看次数

Android Studio minSdkVersion、targetSdkVersion和minSdk、targetSdk有什么区别?

我将 Target SDK Version 从 30 更改为 31,Min SDK Version 从 19 更改为 22。在 build.gradle 中,minSdkVersion、targetSdkVersion 和 targetSdk 相应更改,除了 minSdk 之外。现在还是19岁。

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.example.studentsacademicmanagementappsama"
        minSdk 19
        targetSdk 31
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        targetSdkVersion 31
        minSdkVersion 22
    }
} 
Run Code Online (Sandbox Code Playgroud)
  • minSdkVersion、targetSdkVersion和minSdk、targetSdk有什么区别?

  • 我应该将 minSdk 更改为 22 还是忽略它?

android target-sdk

5
推荐指数
1
解决办法
1949
查看次数