gpt4 book ai didi

java模块中的Android Studio Autovalue和Android模块中的使用

转载 作者:行者123 更新时间:2023-11-29 01:18:20 25 4
gpt4 key购买 nike

使用 Android Studio 我有一个 Android 模块和一个 Java 模块。在 Java 模块中,我想使用 AutoValue 来生成不可变类。

似乎一切正常(文件在 Java 模块中生成)但我无法访问 Android 项目中的那些文件。有什么建议吗?

app\build.gradle

apply plugin: 'com.android.application'
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':domain')
}

域\build.gradle

plugins {
id 'net.ltgt.apt' version '0.6'
}
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.auto.value:auto-value:1.2'
apt 'com.google.auto.value:auto-value:1.2'
}

域/MyLocation.java

import com.google.auto.value.AutoValue;

@AutoValue
abstract class MyLocation {

abstract String name();

@AutoValue.Builder
abstract static class Builder {
abstract Builder name(String _name);
abstract MyLocation build();
}
}

当我构建域模块(java 模块)时,我看到这里生成了“AutoValue_MyLocation”文件:

\domain\build\generated\source\apt\main\my\package\domain\AutoValue_MyLocation.java

但是,我无法在我的 Android 模块中的任何地方使用生成的类。

最佳答案

没关系,通过查看生成的类,我发现它不是公开的,因此我无法在我的 Android 模块中访问它。

要修复它,只需像这样公开@AutoValue 类

@AutoValue
public abstract class MyLocation {
//
}

关于java模块中的Android Studio Autovalue和Android模块中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38346916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com