我正在尝试构建一个aar,以便在jcenter上发布。
assembleRelease任务工作正常,javadoc任务也工作正常,但javadocJar任务输出以下错误:
/Users/martinmoreno/Projects/android-dev-utils/dev-utils/src/main/java/com/tinchoapps/devutils/BitmapUtils.java:11:错误:包android.support.annotation不存在
导入android.support.annotation.非空;
以下是(简化的)gradle文件:
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
android {
...
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
}
...
}
...
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-annotations:20.0.0'
compile 'com.android.support:support-v4:22.0.0'
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
destinationDir = file("../javadoc/")
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives sourcesJar
archives javadocJar
}
它似乎与依赖项有关,因为它在导入中的类上也给出了一些“未找到类”异常,但无法找出问题所在。
有什么想法吗?
因为在Android Gradle 3.0.0中引入了api
和实现
依赖配置,所以不建议使用编译
。为了在javadoc类路径中包含实现
依赖,我更新了Loius CAD的答案:
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
configurations.implementation.setCanBeResolved(true)
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.implementation
}
我不认为这是可能的最干净的解决方案。配置可能是有原因的。默认情况下,实现
不可解析。
只需在javadoc任务中添加这一行(注意最后一部分:configurations.compile
):
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.compile
该行的最后一部分确保javadoc使用编译依赖项来解析它用于javadoc的类。在这一点上,它不应该再失败了。
这为我修复了各种类似的错误:
添加以下内容进行构建。格雷德尔:
configurations {
javadocDeps
}
dependencies {
compile 'com.android.support:support-annotations:22.2.0'
javadocDeps 'com.android.support:support-annotations:22.2.0'
androidTestCompile 'junit:junit:4.+'
androidTestCompile 'com.jayway.android.robotium:robotium-solo:+'
}
在JavaDoc任务中添加以下行:
classpath += configurations.javadocDeps
我正在尝试使用静态编程语言反射从类及其成员生成JFrames。我创建了几个注释,其中一些在运行时存在,一些不存在。 组件注释: 启用注释: 我是这样使用这两个注释的: 如果我运行下面的代码: 我得到的唯一输出是这样的:< code>btn: [Component] 由于Retention设置为
我正在尝试实现解析器模式(策略模式)。 所以我有一个自定义注释 和作为枚举类 现在我有接口 有5个实现,其中一个是 我有解析器是这样的 现在问题出在init()方法中,的所有服务实现都出现在列表中,但当我试图查找注释时,它的值为null。我检查了方法,其中annotationData有0个注释。如果我自动连接PaymentService的任何特定实现,那么我就能够获得注释值。请帮我理解我错过了什么
问题内容: 运行我的Android应用程序时出现此错误: 在类[[Lmodel.Vak;中,没有字段具有DatabaseField注释。 我的班级Vak有注解,所以我真的不明白为什么它仍然给我这个错误。 我有一个名为Databasehelper.java的文件,在其中扩展了OrmLiteSqLiteOpenHelper,该文件如下所示: 我还有一个扩展OrmLiteBaseActivity的文件控
我正在使用反射在类中查找方法,并获得注释“Permes siNecessari”,该注释描述了方法实现的操作类型(CREATE,DELETE,...)。 这是一个实现picketlink类PathAuthorzer的授权检查。我得到一个叫做url,我把它拆分,从url中我找到了实现网络服务的类。然后我搜索它将被调用的方法,并阅读它使用的操作类型。 这是搜索方法的一部分: 对于istance,这是选
我使用Spring AOP拦截方法执行。 我有一个界面,如下所示: 以下是接口的实现: 现在我希望任何使用@AwesomeAnnoting注释的参数的方法都应该被Spring AOP捕获。 所以我写了以下方面,这是有效的。 但是,当我尝试查找参数注释时,我没有得到任何注释。如上所述,annotationMatrix为空。 所以我的问题是: 为什么annotationMatrix为空?可能是因为参数
我观看了本Spring开机教程:https://javabrains.io/courses/spring_bootquickstart/lessons/Creating-a-Spring-Data-JPA-Repository 它将@Entity注释放在类名之前。当我试图在我的代码中这样做时,我得到一个错误,说“无法解析@Entity”。 这是我的pom.xml文件: 你知道有什么问题吗?