将图书馆(例如毕加索)导入Android Studio的秘诀

Fat*_*tie 3 android gradle android-studio

Android Studio,它是0.5.9(在Mac上,fwiw),

(1)内部和外部 build.gradle文件之间区别是什么("地狱")?我很困惑为什么我不能把所有东西都放在外面?

在此输入图像描述

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

1,将该文件拖到"libs".2,右键单击添加为库.3,在build.gradle中添加了像这样的/sf/answers/1226490191/的 "编译文件"

工作得很棒.(Android摇滚.)但......................

当我用picasso-2.3.1.jar尝试时,我只是得到一个奇怪的警告"重构不能执行 - 只读".它不会让我把它移动到该文件夹​​中.那是什么意思?

(3)例如,实际的毕加索页面表明:

在此输入图像描述

但我的gradle文件看起来并不像那样,我无法做到这一点.我的gradle fils只有{{}}语法.我如何/可以从毕加索页面中的建议中使用我的gradle文件?

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

compile 'com.squareup.picasso:picasso:2.1.1'
Run Code Online (Sandbox Code Playgroud)

但这根本不适合我.我得到它的工作只是随机尝试的东西,这工作:

classpath 'com.squareup.picasso:picasso:2.3.1'
Run Code Online (Sandbox Code Playgroud)

我似乎无法"编译"工作.

(5)在Android Studio的其他时候,我使用了(也很神话般的 - Android摇滚)文件 - >项目结构.然后只需点击一下就会捶打,直到它让魔法发生.我的问题是,实际上是SAME AS modding [参见脚注!] gradle文件?,即只是一个为您编辑gradle文件的向导?还是不止于此?

五个难题 - 谢谢

脚注 - 使用Gradle文件我觉得我的女儿改装了Minecraft - 但我不是很擅长.

Sco*_*rta 9

无序地回答您的问题:

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

//顶级构建文件,您可以在其中添加所有子项目/模块共有的配置选项.

内部build.gradle文件是每个模块; 它是在内部模块中,您可以在添加依赖项和设置方面完成大部分工作.大多数时候你不修改外面的那个.不幸的是,它很容易让人感到困惑,而且很容易出错,当你这样做时,你会得到非常奇怪的错误信息.这是一项正在进行中的工作.

2.使用您最近创建的项目,如果它具有此build.gradle文件:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
Run Code Online (Sandbox Code Playgroud)

您不需要右键单击"添加为库",也不必修改构建文件.只需将库拖入文件夹中的libs文件夹即可将其取出 ; 您可能必须单击工具栏中的"使用Gradle文件同步项目"按钮,直到实现该功能以自动检测该更改.

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

5. "项目结构"对话框本质上是一个用于修改build.gradle文件的向导.这些构建文件是事实的来源,项目结构UI可以读取和写入它们.如果UI完成了您想要的操作,那么请使用它,并且不要手动修改构建文件.

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

4.要添加Picasso,您可以dependencies在模块级build.gradle文件中修改块,如下所示:

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

3.这些指令对Maven,这是一个完全不同的构建系统.可以在Android Studio中使用它,但是你会发现IDE很多,因为它没有设置这样做.