diff --git a/services/mediatranscoding/Android.bp b/services/mediatranscoding/Android.bp
index 532e175..48c2584 100644
--- a/services/mediatranscoding/Android.bp
+++ b/services/mediatranscoding/Android.bp
@@ -1,5 +1,5 @@
 // service library
-cc_library {
+cc_library_shared {
     name: "libmediatranscodingservice",
 
     srcs: [
diff --git a/services/mediatranscoding/MediaTranscodingService.cpp b/services/mediatranscoding/MediaTranscodingService.cpp
index 16855bc..74477a8 100644
--- a/services/mediatranscoding/MediaTranscodingService.cpp
+++ b/services/mediatranscoding/MediaTranscodingService.cpp
@@ -26,7 +26,6 @@
 #include <media/TranscodingClientManager.h>
 #include <media/TranscodingResourcePolicy.h>
 #include <media/TranscodingSessionController.h>
-#include <media/TranscodingThermalPolicy.h>
 #include <media/TranscodingUidPolicy.h>
 #include <utils/Log.h>
 #include <utils/Vector.h>
@@ -45,15 +44,13 @@
         const std::shared_ptr<TranscoderInterface>& transcoder)
       : mUidPolicy(new TranscodingUidPolicy()),
         mResourcePolicy(new TranscodingResourcePolicy()),
-        mThermalPolicy(new TranscodingThermalPolicy()),
-        mSessionController(new TranscodingSessionController(transcoder, mUidPolicy, mResourcePolicy,
-                                                            mThermalPolicy)),
+        mSessionController(
+                new TranscodingSessionController(transcoder, mUidPolicy, mResourcePolicy)),
         mClientManager(new TranscodingClientManager(mSessionController)) {
     ALOGV("MediaTranscodingService is created");
     transcoder->setCallback(mSessionController);
     mUidPolicy->setCallback(mSessionController);
     mResourcePolicy->setCallback(mSessionController);
-    mThermalPolicy->setCallback(mSessionController);
 }
 
 MediaTranscodingService::~MediaTranscodingService() {
diff --git a/services/mediatranscoding/MediaTranscodingService.h b/services/mediatranscoding/MediaTranscodingService.h
index a22acf2..428f777 100644
--- a/services/mediatranscoding/MediaTranscodingService.h
+++ b/services/mediatranscoding/MediaTranscodingService.h
@@ -33,7 +33,6 @@
 class TranscoderInterface;
 class UidPolicyInterface;
 class ResourcePolicyInterface;
-class ThermalPolicyInterface;
 
 class MediaTranscodingService : public BnMediaTranscodingService {
 public:
@@ -62,7 +61,6 @@
 
     std::shared_ptr<UidPolicyInterface> mUidPolicy;
     std::shared_ptr<ResourcePolicyInterface> mResourcePolicy;
-    std::shared_ptr<ThermalPolicyInterface> mThermalPolicy;
     std::shared_ptr<TranscodingSessionController> mSessionController;
     std::shared_ptr<TranscodingClientManager> mClientManager;
 };
diff --git a/services/mediatranscoding/tests/Android.bp b/services/mediatranscoding/tests/Android.bp
index 9d3e56c..5a7c4cc 100644
--- a/services/mediatranscoding/tests/Android.bp
+++ b/services/mediatranscoding/tests/Android.bp
@@ -18,13 +18,13 @@
         "libbinder_ndk",
         "liblog",
         "libutils",
+        "libmediatranscodingservice",
         "libcutils",
     ],
 
     static_libs: [
         "mediatranscoding_aidl_interface-ndk_platform",
         "resourcemanager_aidl_interface-ndk_platform",
-        "libmediatranscodingservice",
     ],
 
     required: [
diff --git a/services/mediatranscoding/tests/mediatranscodingservice_simulated_tests.cpp b/services/mediatranscoding/tests/mediatranscodingservice_simulated_tests.cpp
index 601bb1b..7dfda44 100644
--- a/services/mediatranscoding/tests/mediatranscodingservice_simulated_tests.cpp
+++ b/services/mediatranscoding/tests/mediatranscodingservice_simulated_tests.cpp
@@ -354,36 +354,5 @@
     ALOGD("TestTranscodingUidPolicy finished.");
 }
 
-TEST_F(MediaTranscodingServiceSimulatedTest, TestTranscodingThermalPolicy) {
-    ALOGD("TestTranscodingThermalPolicy starting...");
-
-    registerMultipleClients();
-
-    // Submit request, should start immediately.
-    EXPECT_TRUE(mClient1->submit(0, "test_source_file_0", "test_destination_file_0"));
-    EXPECT_EQ(mClient1->pop(kPaddingUs), EventTracker::Start(CLIENT(1), 0));
-
-    // Now, simulate thermal status change by adb cmd. The status code is as defined in
-    // frameworks/native/include/android/thermal.h.
-    // ATHERMAL_STATUS_SEVERE(3): should start throttling.
-    EXPECT_TRUE(ShellHelper::RunCmd("cmd thermalservice override-status 3"));
-    EXPECT_EQ(mClient1->pop(kPaddingUs), EventTracker::Pause(CLIENT(1), 0));
-
-    // ATHERMAL_STATUS_CRITICAL(4): shouldn't start throttling again (already started).
-    EXPECT_TRUE(ShellHelper::RunCmd("cmd thermalservice override-status 4"));
-    EXPECT_EQ(mClient1->pop(kPaddingUs), EventTracker::NoEvent);
-
-    // ATHERMAL_STATUS_MODERATE(2): should stop throttling.
-    EXPECT_TRUE(ShellHelper::RunCmd("cmd thermalservice override-status 2"));
-    EXPECT_EQ(mClient1->pop(kPaddingUs), EventTracker::Resume(CLIENT(1), 0));
-
-    // ATHERMAL_STATUS_LIGHT(1): shouldn't stop throttling again (already stopped).
-    EXPECT_TRUE(ShellHelper::RunCmd("cmd thermalservice override-status 1"));
-    EXPECT_EQ(mClient1->pop(kSessionWithPaddingUs), EventTracker::Finished(CLIENT(1), 0));
-
-    unregisterMultipleClients();
-
-    ALOGD("TestTranscodingThermalPolicy finished.");
-}
 }  // namespace media
 }  // namespace android
