导入库文件(例如Picasso)到Android Studio的秘密

3

Android Studio,版本是0.5.9(在Mac上),

(1) 内部和外部build.gradle文件有什么区别?我困惑的是,为什么我不能把所有东西都放在外面的那个文件里面?

enter image description here

(2) 当我导入universal-image-loader-1.9.2.jar时,我按照以下步骤进行:

1、将该文件拖到“libs”中。 2、右键添加为库。 3、如此添加了“compile files” https://dev59.com/HGQn5IYBdhLWcg3wAjEX#17521288 在build.gradle中。

非常好用。(Android很棒。)但是.............

当我尝试使用picasso-2.3.1.jar时,我只会得到一个奇怪的警告"无法执行重构-只读"。 它不会让我将其移动到那个文件夹中。这是怎么回事?

(3) 实际的Picasso页面,例如,建议这样做:

enter image description here

但是我的gradle文件看起来根本不像那样,我无法使其起作用。 我的gradle文件只有{{}}语法。我怎么样/可以在我的gradle文件中使来自Picasso页面的建议起作用?

(4) "编译".."classpath"二分法是什么?许多教程都说要添加这个......

compile 'com.squareup.picasso:picasso:2.1.1'

但这对我完全行不通。我只有通过随意尝试才让它工作,这个方法行得通:

classpath 'com.squareup.picasso:picasso:2.3.1'

我似乎无法使“编译”起作用。
(5)在Android Studio中,我有时使用(同样出色的 - Android很棒)文件->项目结构。然后只需点击一些东西,直到它变成魔法。我的问题是,实际上这是否与修改gradle文件相同?即,那只是一个为您编辑gradle文件的向导吗?还是更多的东西?
五个难题 - 谢谢
注 - 使用Gradle文件感觉就像我女儿修改Minecraft - 但我不太擅长。
1个回答

10

回答您的问题:

1. 外部 build.gradle 文件中有一条注释:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

内部 build.gradle 文件是每个模块的文件;在这些内部模块中,您需要添加依赖项和设置项。大多数情况下,您不需要修改外部文件。不幸的是,这很容易让人感到困惑并犯错,而当您犯错时,会得到非常奇怪的错误消息。这还在改进中。

2. 对于您最近创建的项目,如果它具有以下 build.gradle 文件:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

不需要右键单击“添加为库”,也不需要修改构建文件。只需将库文件拖放到文件系统中的libs文件夹中,它就会被引入;直到自动检测该更改的功能实现之前,您可能需要在工具栏中点击“与Gradle文件同步”按钮。

我刚刚尝试将一个jar文件从文件系统拖放到IDE窗口的libs文件夹中,得到了“无法执行重构”的消息。这看起来像是一个错误,我已经为此提交了https://code.google.com/p/android/issues/detail?id=70784。但如果你在操作系统中进行复制而不是在IDE中,它将会被引入,除了可能需要像我说的那样与Gradle文件同步。

5. 项目结构对话框本质上是一个用于修改build.gradle文件的向导。这些构建文件是真相的源头,项目结构UI从它们读取和写入。如果UI能够达到你想要的效果,那么请放心使用它,并且不要手动修改构建文件。

话虽如此,如果您想通过修改构建文件来添加依赖项:

4. 要添加Picasso,您可以修改模块级别build.gradle文件中的 dependencies 区块,使其看起来像这样:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.squareup.picasso:picasso:2.3.1'
    // Maybe there's other stuff in here too
}

3.这些指令适用于Maven,它是一个完全不同的构建系统。虽然在Android Studio中可以使用它,但您会发现IDE会反对您这样做,因为它没有设置来执行这项任务。


非常有用的事情是要知道按下“与Gradle文件同步项目”的选项。就这样!谢谢! - Juan Carlos Moreno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接