diff --git a/java/droiddoc.go b/java/droiddoc.go index a7e92d9ef..2929bb8d9 100644 --- a/java/droiddoc.go +++ b/java/droiddoc.go @@ -373,11 +373,8 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps { panic(fmt.Errorf("unknown dependency %q for %q", otherName, ctx.ModuleName())) } case libTag, sdkLibTag: - if _, ok := module.(SdkLibraryDependency); ok { - sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider) - generatingLibsString := android.PrettyConcat( - getGeneratingLibs(ctx, j.SdkVersion(ctx), module.Name(), sdkInfo), true, "or") - ctx.ModuleErrorf("cannot depend directly on java_sdk_library %q; try depending on %s instead", module.Name(), generatingLibsString) + if dep, ok := module.(SdkLibraryDependency); ok { + deps.classpath = append(deps.classpath, dep.SdkHeaderJars(ctx, j.SdkVersion(ctx))...) } else if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { deps.classpath = append(deps.classpath, dep.HeaderJars...) deps.aidlIncludeDirs = append(deps.aidlIncludeDirs, dep.AidlIncludeDirs...) diff --git a/java/java.go b/java/java.go index b6d617377..d63bbe6e1 100644 --- a/java/java.go +++ b/java/java.go @@ -2700,13 +2700,13 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { transitiveBootClasspathHeaderJars = append(transitiveBootClasspathHeaderJars, dep.TransitiveStaticLibsHeaderJars) } } - } else if _, ok := module.(SdkLibraryDependency); ok { + } else if dep, ok := module.(SdkLibraryDependency); ok { switch tag { case libTag, sdkLibTag: - sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider) - generatingLibsString := android.PrettyConcat( - getGeneratingLibs(ctx, j.SdkVersion(ctx), module.Name(), sdkInfo), true, "or") - ctx.ModuleErrorf("cannot depend directly on java_sdk_library %q; try depending on %s instead", module.Name(), generatingLibsString) + depHeaderJars := dep.SdkHeaderJars(ctx, j.SdkVersion(ctx)) + flags.classpath = append(flags.classpath, depHeaderJars...) + transitiveClasspathHeaderJars = append(transitiveClasspathHeaderJars, + android.NewDepSet(android.PREORDER, depHeaderJars, nil)) } }