Android Studio控制台生成无法重用缓存的gradle依赖项
Android Studio在版本2.2.2上运行,带有gradle 3.2.1和gradle插件2.2.2 我正在进行从EclipseADT到Android Studio的项目迁移。我的Android Studio项目有多个作为模块导入的ADT项目。Android Studio以脱机模式运行,gradle源代码在本地可用 顶级build.gradleAndroid Studio控制台生成无法重用缓存的gradle依赖项,android,android-studio,caching,gradle,offline,Android,Android Studio,Caching,Gradle,Offline,Android Studio在版本2.2.2上运行,带有gradle 3.2.1和gradle插件2.2.2 我正在进行从EclipseADT到Android Studio的项目迁移。我的Android Studio项目有多个作为模块导入的ADT项目。Android Studio以脱机模式运行,gradle源代码在本地可用 顶级build.gradle buildscript { repositories { jcenter () } dependenci
buildscript {
repositories {
jcenter ()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
}
}
allprojects {
repositories {
jcenter()
}
}
这是一个示例模块build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "25.0.1"
defaultConfig {
applicationId "com.my.project"
minSdkVersion 17
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
externalNativeBuild {
ndkBuild {
path 'jni/Android.mk'
}
}
}
dependencies {
compile 'com.android.support:support-v4:23.4.0'
compile files('libs/commons-exec-1.3.jar')
compile files('libs/commons-io-2.4.jar')
}
Android Studio中的Gradle sync工作正常,但任何带有选项--offline
的控制台构建都会失败,因为缺少缓存存储库。我无法联机测试联机同步
我尝试了不同的构建选项,定义了--gradle user home
或--project cache dir
,但没有成功
这是个例外
* What went wrong:
A problem occurred configuring root project 'My-Project'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not resolve com.android.tools.build:gradle:2.2.2.
Required by:
project :
> No cached version of com.android.tools.build:gradle:2.2.2 available for offline mode.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
是否无法重用Android Studio gradle sync的缓存存储库?有这么多项目文件夹似乎包含缓存的gradle文件,但它是哪一个?我可以看到
PRJ_DIR/.gradle/caches/3.2.1
,PRJ_DIR/caches
或PRJ_DIR/gradle/caches
。我必须指定控制台构建中的每个任务吗?我需要确保gradle缓存的路径已经定义,并且Android Studio和控制台构建的路径相同
最简单的方法是定义到gradle home的路径:
export GRADLE\u USER\u HOME=/path/to/GRADLE/local/cache
我在一台可以上网的计算机上创建了一个虚拟项目,执行了一个gradle在线同步。之后,在Android Studio中切换到脱机模式,并在项目文件夹中执行/gradlew--offline
。建造成功了
现在,可以创建一个仍处于脱机模式的新项目(可以关闭internet访问)并使用缓存的gradle版本。我需要确保gradle缓存的路径已定义,并且Android Studio和控制台版本的路径相同 最简单的方法是定义到gradle home的路径:
export GRADLE\u USER\u HOME=/path/to/GRADLE/local/cache
我在一台可以上网的计算机上创建了一个虚拟项目,执行了一个gradle在线同步。之后,在Android Studio中切换到脱机模式,并在项目文件夹中执行/gradlew--offline
。建造成功了
现在,可以创建一个仍处于脱机模式(可以关闭internet访问)的新项目,并使用缓存的gradle构建