标签: android-build

compileSdkVersion和targetSdkVersion有什么区别?

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

它只是说:

compileSdkVersion属性指定编译目标.

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

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

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

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

sdk android android-build android-gradle-plugin

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

如何在命令行上安装Android SDK Build Tools?

我想从命令行设置Android dev环境,遇到以下问题:

wget http://dl.google.com/android/android-sdk_r22.0.5-linux.tgz
Run Code Online (Sandbox Code Playgroud)

解压缩文件后,运行

tools/android update sdk --no-ui
Run Code Online (Sandbox Code Playgroud)

但是,跑步太慢了

Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml
Run Code Online (Sandbox Code Playgroud)

结果是文件夹构建工具中没有任何内容,我想要的是aapt和apkbuilder,因为我想在没有ant的情况下从命令行构建apk.

sdk android build-tools android-build aapt

285
推荐指数
11
解决办法
27万
查看次数

Android 命令行工具 sdkmanager 始终显示:警告:无法创建设置

我使用 android 的新命令行工具,因为旧的 android sdk-tools 存储库不再可用。所以我改变了我的 gitlab-ci 来加载 commandlintools。但是当我尝试运行它时,出现以下错误:

Warning: Could not create settings
java.lang.IllegalArgumentException
    at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过手动执行这些命令,但我遇到了同样的错误。此外,如果我运行sdkmanager --version,也会发生同样的错误。我的 gitlab-ci 看起来像:

image: openjdk:9-jdk

variables:
  ANDROID_COMPILE_SDK: "29"
  ANDROID_BUILD_TOOLS: "29.0.3"
  ANDROID_SDK_TOOLS:   "6200805"

before_script:
  - apt-get --quiet update --yes
  - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
  - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
  - unzip -d android-sdk-linux android-sdk.zip
  - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
  #- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" …
Run Code Online (Sandbox Code Playgroud)

android android-build gitlab-ci android-sdk-manager android-studio-3.6

187
推荐指数
12
解决办法
11万
查看次数

安装失败,消息无效文件

安装失败,消息无效文件:K:\ project\app\build\intermediates\split-apk\with_ImageProcessor\debug\slices\slice_0.apk.通过卸载现有版本的apk(如果存在)然后重新安装,可能会解决此问题.

警告:卸载将删除应用程序数据!

要卸载现有应用程序吗?

我在android studio 2.3 beta 3中运行我的项目.

android android-build android-studio

175
推荐指数
11
解决办法
14万
查看次数

Gradle,Android和ANDROID_HOME SDK位置

编辑:(aug-2016)

这个问题是从2013年11月开始的(当Android Studio仍处于开发者预览模式时),

当前(AS v2.2,2016年8月)在安装期间,AS要求选择SDK文件夹(或默认安装),它会自动应用于您正在打开的项目.

这意味着任何可能的解决方法或修复都无关紧要,因为问题不再可再生.

原始问题:

我们这个项目有几个已经配置好的模块,并且使用包装器在另一台开发者PC上正确执行.我将完整的git子模块克隆到我的机器中.

下面是我的命令行的直接打印:

$ ./gradlew

FAILURE: Build failed with an exception.

* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 6.378 …
Run Code Online (Sandbox Code Playgroud)

android gradle android-build android-gradle-plugin

147
推荐指数
12
解决办法
23万
查看次数

Android Studio:未找到ID为'android-library'的插件

我一直试图让ActionBarSherlock工作并遇到一些问题.我遇到的一个问题是在尝试构建它时出现以下消息:

Plugin with id 'android-library' not found
Run Code Online (Sandbox Code Playgroud)

特别:

D:\Projects\Android\actionbarsherlock>D:\Projects\Android\gradlew --info build
Starting Build
Settings evaluated using empty settings script.
Projects loaded. Root project using build file 
  'D:\Projects\Android\actionbarsherlock\build.gradle'.
Included projects: [root project 'actionbarsherlock']
Evaluating root project 'actionbarsherlock' using build file 
  'D:\Projects\Android\actionbarsherlock\build.gradle'.

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\Projects\Android\actionbarsherlock\build.gradle' line: 1

* What went wrong:
A problem occurred evaluating root project 'actionbarsherlock'.
> Plugin with id 'android-library' not found.
Run Code Online (Sandbox Code Playgroud)

我把它视为一个单独的线程中的ABS问题,所以在这里我很好奇如何解决一般问题:

Plugin with id 'android-library' not found
Run Code Online (Sandbox Code Playgroud)

这是build.gradle:

apply …
Run Code Online (Sandbox Code Playgroud)

gradle android-build gradlew android-studio build.gradle

146
推荐指数
6
解决办法
21万
查看次数

如何为不同的产品风格定义不同的依赖关系

我正在将我的一个应用程序转换为Gradle,并希望使用新的构建风格功能来获得付费和免费的广告风格.

我只希望基于广告的版本依赖于admob SDK.

我的构建文件如下所示:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    productFlavors {
        Pro {
            packageName "de.janusz.journeyman.zinsrechner.pro"
        }
        Free { 
            dependencies {

            }
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile fileTree(dir: 'libs', include: '*.jar')
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在免费产品风格中配置依赖项,使其拥有自己的libs文件夹,该文件夹与包含两种风格的通用库的主libs文件夹合并?

如果可能,我该如何定义此文件夹?

android gradle android-build

138
推荐指数
6
解决办法
4万
查看次数

是否可以在android gradle中将git存储库声明为依赖?

我想从mavencentral使用我的lib的主版本.

是否可以在android gradle中将git存储库声明为依赖?

android android-build android-studio android-gradle-plugin

100
推荐指数
5
解决办法
4万
查看次数

无法使用哈希字符串android-23找到目标

当尝试从git://github.com/osmdroid/osmdroid构建OpenStreetMapView时,我收到此错误:

failed to find target with hash string android-23: D:\Users\myusername\AppData\Local\Android
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?以前类似的问题建议检查android 23是否未安装,但在我的情况下,确实如此.

以下是一些相关信息:

ANDROID_HOME是 D:\Users\myusername\AppData\Local\Android\sdk

D:\Users\myusername\AppData\Local\Android\sdk\platforms\ 包含目录\ android-23 \,(以及android-19,android-21,android-22,android-MNC)

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "org.osmdroid.example"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 16
        versionName "4.4-SNAPSHOT"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'

    }
    lintOptions {
        abortOnError false
    }
}


dependencies {
    compile 'android.support:compatibility-v4:23+'
    compile project(':osmdroid-android')
    //compile 'org.osmdroid:osmdroid-third-party:4.4-SNAPSHOT'
}
Run Code Online (Sandbox Code Playgroud)

我尝试将targetSdkVersion和compileSdkVersion更改为22.这会导致错误消息更改为"android-22"而不是"android-23".

SDK Manager: 在此输入图像描述

android gradle android-build

93
推荐指数
5
解决办法
15万
查看次数

在Android studio中更新buildToolsVersion '23 .0.1'后出现内存问题

我更新后经常出现内存问题buildToolsVersion '22.0.1',buildToolsVersion '23.0.1'我真的很困惑,不知道如何解决这个问题,因为这个错误仅显示buildTools版本23.0.1.而当我改变它时它工作正常22.0.1.请帮我.我发布的错误如下,

Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_25\bin\java.exe'' finished with non-zero exit …
Run Code Online (Sandbox Code Playgroud)

android build-tools android-build android-studio build.gradle

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