2

Android Studio 사용 Android 모듈과 Java 모듈이 있습니다. Java 모듈에서 AutoValue를 사용하여 변경 불가능한 클래스를 생성하려고합니다.Android Studio Java 모듈의 자동 실행 및 Android 모듈에서 사용

모두 괜찮 으면 (파일이 Java 모듈에서 생성됨) 보이지만 Android 프로젝트에서이 파일에 액세스 할 수 없습니다. 어떤 제안?

응용 프로그램 \의 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(); 
    } 
} 
내가 도메인 모듈 (자바 모듈)을 만들 때, 나는 'AutoValue_MyLocation'파일이 여기에 생성되는 것을 볼 수 :

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

그러나, 나는 내 안드로이드 모듈의 아무 곳이나 생성 된 클래스를 사용할 수 없습니다입니다.

답변

1

신경 쓰지 마세요. 생성 된 클래스를 살펴본 결과 공개되지 않았기 때문에 Android 모듈에서 액세스 할 수 없었습니다.

이 문제를 해결하려면 , 그래서

@AutoValue 
public abstract class MyLocation { 
    // 
} 
처럼 @AutoValue 클래스를 공개 간단하게