diff --git a/java/java.go b/java/java.go
index 04ce469..bc58df3 100644
--- a/java/java.go
+++ b/java/java.go
@@ -334,6 +334,8 @@
 	module        string
 	systemModules string
 
+	frameworkResModule string
+
 	jar  android.Path
 	aidl android.Path
 }
@@ -423,11 +425,12 @@
 		}
 	}
 
-	toModule := func(m string) sdkDep {
+	toModule := func(m, r string) sdkDep {
 		ret := sdkDep{
-			useModule:     true,
-			module:        m,
-			systemModules: m + "_system_modules",
+			useModule:          true,
+			module:             m,
+			systemModules:      m + "_system_modules",
+			frameworkResModule: r,
 		}
 		if m == "core.current.stubs" {
 			ret.systemModules = "core-system-modules"
@@ -442,16 +445,17 @@
 	switch v {
 	case "":
 		return sdkDep{
-			useDefaultLibs: true,
+			useDefaultLibs:     true,
+			frameworkResModule: "framework-res",
 		}
 	case "current":
-		return toModule("android_stubs_current")
+		return toModule("android_stubs_current", "framework-res")
 	case "system_current":
-		return toModule("android_system_stubs_current")
+		return toModule("android_system_stubs_current", "framework-res")
 	case "test_current":
-		return toModule("android_test_stubs_current")
+		return toModule("android_test_stubs_current", "framework-res")
 	case "core_current":
-		return toModule("core.current.stubs")
+		return toModule("core.current.stubs", "")
 	default:
 		return toFile(v)
 	}
@@ -681,7 +685,10 @@
 		tag := ctx.OtherModuleDependencyTag(module)
 
 		if to, ok := module.(*Library); ok {
-			checkLinkType(ctx, j, to, tag.(dependencyTag))
+			switch tag {
+			case bootClasspathTag, libTag, staticLibTag:
+				checkLinkType(ctx, j, to, tag.(dependencyTag))
+			}
 		}
 		switch dep := module.(type) {
 		case Dependency:
