相关疑难解决方法(0)

Gradle中的实现和编译之间有什么区别?

在更新到Android Studio 3.0并创建一个新项目后,我注意到build.gradle有一种新方法可以添加新的依赖项,而不是compile存在implementation而不是testCompile存在testImplementation.

例:

 implementation 'com.android.support:appcompat-v7:25.0.0'
 testImplementation 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

代替

 compile 'com.android.support:appcompat-v7:25.0.0'
 testCompile 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别,我应该使用什么?

dependency-management gradle transitive-dependency build.gradle gradle-plugin

899
推荐指数
10
解决办法
27万
查看次数

使用gradlew和gradle之间的区别

使用gradlew和/ gradle或它们之间的区别是什么?

gradle gradlew

195
推荐指数
2
解决办法
7万
查看次数

什么是AAPT(Android资产包装工具)以及它是如何工作的?

AAPT(Android资产包装工具)是什么意思?它是如何工作的?

我可以.so使用AAPT将一个应用程序的文件发送到另一个应用程序的APK文件中吗?

android aapt

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

为什么Android Studio重建项目的速度如此之慢,即使源代码没有变化?

当我在源代码中进行一些更改时,Android Studio(实际上是gradle)需要重建项目.很明显.

为什么即使我没有对项目进行任何更改,第二次构建也会像第一次构建那样花费几乎相同的时间?当我查看GradleConsole时,它会等待"assembleDubug"任务.我认为gradle应该意识到没有变化,不应该浪费太多时间.

android android-studio android-gradle-plugin

19
推荐指数
2
解决办法
4862
查看次数

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
查看次数

什么是真正的Android Studio Gradle版本?

我有个问题.

在(根)build.gradle Gradle Version中是3.1.3

(根)的build.gradle

***(根)的build.gradle***

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'

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

在项目结构中,Gradle Version是4.4

项目结构

在此输入图像描述

Gradle version 4.4
Run Code Online (Sandbox Code Playgroud)

在Gradle-wrapper-properties中,Url的Gradle版本是4.4

摇篮 - 包装 - 属性

在此输入图像描述

#Tue Jul 17 17:49:20 KST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Run Code Online (Sandbox Code Playgroud)

但我可以构建,我可以在SmartPhone中运行应用程序.

什么是真正的Gradle版本?

请回复.

谢谢.

android android-studio android-gradle-plugin

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

使用Bazel而不是Gradle的额外优势是什么?

我正在阅读有关Android Testing Samples项目的文章,并注意到一个名为Bazel的" "构建工具正用于构建Android项目:

实验性Bazel支持

其中一些示例可以在Linux上使用Bazel构建.这些示例包含一个BUILD.bazel文件,类似于build.gradle文件.外部依赖项在顶级WORKSPACE文件中定义.

这是实验性功能.要运行测试,请按照Bazel网站上的说明安装最新版本的Bazel(0.12.0或更高版本).

然后,

  • 在现有的Gradle上使用Bazel的附加优势是什么?
  • 拥有适用于Android的TWO构建工具真的很棒吗?
  • 这是否意味着Android开发人员将来可能需要学习这种新的构建工具?

更新#1:更新了farhana的接受答案,感谢Jin提供有关google构建系统的详细信息.

更新#2:更新了谷歌代码实验室,用于bazel android介绍.

android gradle android-testing android-gradle-plugin bazel

12
推荐指数
2
解决办法
2220
查看次数

Android gradle,它是什么?

在同一个网站上还有一些其他相关问题,但我无法理解这一点.

在他们的网站上,他们非常抽象.

Gradle是构建自动化的演变.Gradle可以自动构建,测试,发布,部署以及更多软件包或其他类型的项目,例如生成的静态网站,生成的文档或其他任何内容.

那个的真实意义是什么?谢谢

android gradle

9
推荐指数
1
解决办法
2452
查看次数

ART中AOT和JIT编译器之间的区别

在棉花糖中,添加了ART的AOT编译器。从Android N起,除了AOT外,还添加了另一个编译器JIT。

什么是AOT编译器特定的作业/功能,什么是JIT编译器的作业/功能?

android jit android-6.0-marshmallow android-7.0-nougat

5
推荐指数
2
解决办法
3134
查看次数