为我们开发的库构建适用于Android Studio项目的Javadocs时,我们的Gradle构建脚本失败,错误如下:
/MY_LOCAL_PATH/MyClass.java:5:错误:包com.google.gson不存在 导入com.google.gson.Gson;
详细信息:
我们正在使用Gradle
构建一个Android库,并希望为其构建Javadocs
。
Android Studio项目配置为需要Maven dependency
GSON
,尽管我猜测它会在未明确提供lib
文件的每个依赖项中发生。
我们的课程之一,当然是imports com.google.gson.
这是我们的Gradle脚本:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion '21.1.2'
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
versionCode 8000
versionName "0.8.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.2.4'
}
预期构建文档的任务(基于this question):
task generateJavaDocs(type:Javadoc) {
source = 'src/main/java/com'
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath = files(source) + files(ext.androidJar)
options.memberLevel = JavadocMemberLevel.PUBLIC
include '**/*.java'
exclude '**/BuildConfig.java'
exclude '**/R.java'
}
完成此任务后,Gradle会因以下错误而失败:
/MY_LOCAL_PATH/MyClass.java:5:错误:包com.google.gson不存在 导入com.google.gson.Gson;
/MY_LOCAL_PATH/MyClass.java:6:错误:包com.google.gson不存在 import com.google.gson.JsonParseException;
/MY_LOCAL_PATH/MyClass.java:7:错误:包com.google.gson不存在 import com.google.gson.JsonSyntaxException;
/MY_LOCAL_PATH/MyClass.java:8:错误:包com.google.gson.reflect不存在 导入com.google.gson.reflect.TypeToken;
有人想过如何解决这个问题吗?
谢谢!
答案 0 :(得分:0)
我正在使用gradle构建的Java库项目,而gradle javadocs任务也有类似的问题:
task javadocs(type: Javadoc) {
source = sourceSets.main.java.srcDirs
exclude '**/R.html', '**/R.*.html', '**/index.html'
}
我的库依赖项是'org.json:json:20180130',而我的javadocs任务失败并出现错误:
error: package org.json does not exist
我通过将类路径添加到javadocs任务来解决此问题:
task javadocs(type: Javadoc) {
source = sourceSets.main.java.srcDirs
classpath = sourceSets.main.runtimeClasspath
exclude '**/R.html', '**/R.*.html', '**/index.html'
}
我希望这对某人有帮助。