diff --git a/java/app.go b/java/app.go
index 5f43326..e01a2ba 100644
--- a/java/app.go
+++ b/java/app.go
@@ -1442,9 +1442,8 @@
 	a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_common_data)...)
 	a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_data)...)
 	a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_prefer32_data)...)
-
 	android.SetProvider(ctx, tradefed.BaseTestProviderKey, tradefed.BaseTestProviderData{
-		TestcaseRelDataFiles:    testcaseRel(a.data),
+		InstalledFiles:          a.data,
 		OutputFile:              a.OutputFile(),
 		TestConfig:              a.testConfig,
 		HostRequiredModuleNames: a.HostRequiredModuleNames(),
@@ -1452,8 +1451,6 @@
 		IsHost:                  false,
 		LocalCertificate:        a.certificate.AndroidMkString(),
 		IsUnitTest:              Bool(a.testProperties.Test_options.Unit_test),
-		MkInclude:               "$(BUILD_SYSTEM)/soong_app_prebuilt.mk",
-		MkAppClass:              "APPS",
 	})
 	android.SetProvider(ctx, android.TestOnlyProviderKey, android.TestModuleInformation{
 		TestOnly:       true,
@@ -1462,14 +1459,6 @@
 
 }
 
-func testcaseRel(paths android.Paths) []string {
-	relPaths := []string{}
-	for _, p := range paths {
-		relPaths = append(relPaths, p.Rel())
-	}
-	return relPaths
-}
-
 func (a *AndroidTest) FixTestConfig(ctx android.ModuleContext, testConfig android.Path) android.Path {
 	if testConfig == nil {
 		return nil
