我试图了解Gradle Wrapper的工作原理.在许多源代码库中,我看到以下结构:
projectRoot/
src/
build.gradle
gradle.properties
settings.gradle
gradlew
gradlew.bat
gradle/
wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
Run Code Online (Sandbox Code Playgroud)
我的问题:
gradlew/ gradlew.bat?您是否应该在项目首次创建时仅生成一次,每次提交/推送更改时是否生成它们?它们是如何产生的?gradle/wrapper/*文件(gradle-wrapper.jar和gradle-wrapper.properties)?*.gradle在项目gradle目录中看到其他文件.这些额外的Gradle文件是什么?它们代表什么/做什么?自定义插件?settings.gradle与内部应该定义的属性有什么不同gradle.properties?我已经检查过这篇文章: 如何在IDEA下载Gradle项目的依赖源?
但它对我不起作用.也许是因为他们指的是IntelliJ Idea,我遇到了Android Studio的问题.
我试过添加
apply plugin: 'idea'
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
Run Code Online (Sandbox Code Playgroud)
两者都是root的build.gradle文件(我在多项目设置中)或应用程序的build.gradle文件.
我的应用程序的gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
repositories {
mavenCentral()
}
dependencies {
compile files('libs/android-support-v4.jar')
compile 'com.nostra13.universalimageloader:universal-image-loader:1.8.4'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在Android Studio中,当我单击universalimageloader库中的任何方法时,我会进入一个屏幕,说明没有附加源.如果我单击附加源它显示:

如您所见,只有lib的jar被下载到gradle缓存中.没有下载*-sources.jar或*-javadoc.jar.我已经清理了项目,删除了.gradle文件夹以强制它再次从maven下载.没运气.
我仔细检查了加载的通用图像是否有maven中可用的源和javadoc,所以这不是问题.
谢谢!
我正在使用Gradle 2.0.我应该写什么,build.gradle以便javadoc和源也与jar一起下载?
在Android Studio支持库appcompat(for ActionBar)中定义为Gradle依赖项.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
Run Code Online (Sandbox Code Playgroud)
这也解决了获得v4的问题.
点击进入课程时如何查看源代码?
例如 android.support.v4.widget.DrawerLayout
目前Android Studio说
// IntelliJ API从类文件生成的反编译器存根源
//方法的实现不可用