diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index b361cf209..894809b78 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -65,7 +65,6 @@ setupApp()
configurations.all {
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk7")
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
- exclude("androidx.profileinstaller", "profileinstaller")
}
dependencies {
@@ -117,5 +116,6 @@ dependencies {
implementation("androidx.transition:transition:1.4.1")
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.core:core-splashscreen:1.0.1")
+ implementation("androidx.profileinstaller:profileinstaller:1.3.1")
implementation("com.google.android.material:material:1.10.0")
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 68f548a48..6b1aac312 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -82,11 +82,15 @@
android:name="androidx.room.MultiInstanceInvalidationService"
tools:node="remove" />
-
+
+
+
+
diff --git a/app/src/main/java/com/topjohnwu/magisk/core/App.kt b/app/src/main/java/com/topjohnwu/magisk/core/App.kt
index f524b8a6a..949b51353 100644
--- a/app/src/main/java/com/topjohnwu/magisk/core/App.kt
+++ b/app/src/main/java/com/topjohnwu/magisk/core/App.kt
@@ -5,6 +5,8 @@ import android.app.Application
import android.content.Context
import android.content.res.Configuration
import android.os.Bundle
+import androidx.profileinstaller.ProfileInstaller
+import com.topjohnwu.magisk.BuildConfig
import com.topjohnwu.magisk.StubApk
import com.topjohnwu.magisk.core.di.ServiceLocator
import com.topjohnwu.magisk.core.utils.DispatcherExecutor
@@ -20,6 +22,8 @@ import com.topjohnwu.superuser.Shell
import com.topjohnwu.superuser.internal.UiThreadHandler
import com.topjohnwu.superuser.ipc.RootService
import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.launch
import timber.log.Timber
import java.lang.ref.WeakReference
import kotlin.system.exitProcess
@@ -84,6 +88,11 @@ open class App() : Application() {
super.onCreate()
ProcessLifecycle.init(this)
NetworkObserver.init(this)
+ if (!BuildConfig.DEBUG && !isRunningAsStub) {
+ GlobalScope.launch(Dispatchers.IO) {
+ ProfileInstaller.writeProfile(this@App)
+ }
+ }
}
override fun onConfigurationChanged(newConfig: Configuration) {
diff --git a/buildSrc/src/main/java/Setup.kt b/buildSrc/src/main/java/Setup.kt
index 4381ea3a7..709df72a2 100644
--- a/buildSrc/src/main/java/Setup.kt
+++ b/buildSrc/src/main/java/Setup.kt
@@ -144,8 +144,6 @@ abstract class AddCommentTask: DefaultTask() {
it.eocdComment = comment.get().toByteArray()
it.get(IncrementalPackager.APP_METADATA_ENTRY_PATH)?.delete()
it.get(JarFile.MANIFEST_NAME)?.delete()
- it.get("assets/dexopt/baseline.prof")?.delete()
- it.get("assets/dexopt/baseline.profm")?.delete()
}
outFile