mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-11-23 10:05:23 +00:00
Support baseline profiles
This commit is contained in:
parent
9f92e1bf15
commit
28770b9a32
@ -65,7 +65,6 @@ setupApp()
|
|||||||
configurations.all {
|
configurations.all {
|
||||||
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk7")
|
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk7")
|
||||||
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
|
exclude("org.jetbrains.kotlin", "kotlin-stdlib-jdk8")
|
||||||
exclude("androidx.profileinstaller", "profileinstaller")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -117,5 +116,6 @@ dependencies {
|
|||||||
implementation("androidx.transition:transition:1.4.1")
|
implementation("androidx.transition:transition:1.4.1")
|
||||||
implementation("androidx.core:core-ktx:1.12.0")
|
implementation("androidx.core:core-ktx:1.12.0")
|
||||||
implementation("androidx.core:core-splashscreen:1.0.1")
|
implementation("androidx.core:core-splashscreen:1.0.1")
|
||||||
|
implementation("androidx.profileinstaller:profileinstaller:1.3.1")
|
||||||
implementation("com.google.android.material:material:1.10.0")
|
implementation("com.google.android.material:material:1.10.0")
|
||||||
}
|
}
|
||||||
|
@ -82,11 +82,15 @@
|
|||||||
android:name="androidx.room.MultiInstanceInvalidationService"
|
android:name="androidx.room.MultiInstanceInvalidationService"
|
||||||
tools:node="remove" />
|
tools:node="remove" />
|
||||||
|
|
||||||
<!-- We don't need emoji compat -->
|
<!-- We handle initialization ourselves -->
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.startup.InitializationProvider"
|
android:name="androidx.startup.InitializationProvider"
|
||||||
android:authorities="${applicationId}.androidx-startup"
|
android:authorities="${applicationId}.androidx-startup"
|
||||||
android:exported="false"
|
tools:node="remove" />
|
||||||
|
|
||||||
|
<!-- We handle profile installation ourselves -->
|
||||||
|
<receiver
|
||||||
|
android:name="androidx.profileinstaller.ProfileInstallReceiver"
|
||||||
tools:node="remove" />
|
tools:node="remove" />
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
@ -5,6 +5,8 @@ import android.app.Application
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import androidx.profileinstaller.ProfileInstaller
|
||||||
|
import com.topjohnwu.magisk.BuildConfig
|
||||||
import com.topjohnwu.magisk.StubApk
|
import com.topjohnwu.magisk.StubApk
|
||||||
import com.topjohnwu.magisk.core.di.ServiceLocator
|
import com.topjohnwu.magisk.core.di.ServiceLocator
|
||||||
import com.topjohnwu.magisk.core.utils.DispatcherExecutor
|
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.internal.UiThreadHandler
|
||||||
import com.topjohnwu.superuser.ipc.RootService
|
import com.topjohnwu.superuser.ipc.RootService
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
import kotlin.system.exitProcess
|
import kotlin.system.exitProcess
|
||||||
@ -84,6 +88,11 @@ open class App() : Application() {
|
|||||||
super.onCreate()
|
super.onCreate()
|
||||||
ProcessLifecycle.init(this)
|
ProcessLifecycle.init(this)
|
||||||
NetworkObserver.init(this)
|
NetworkObserver.init(this)
|
||||||
|
if (!BuildConfig.DEBUG && !isRunningAsStub) {
|
||||||
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
|
ProfileInstaller.writeProfile(this@App)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onConfigurationChanged(newConfig: Configuration) {
|
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||||
|
@ -144,8 +144,6 @@ abstract class AddCommentTask: DefaultTask() {
|
|||||||
it.eocdComment = comment.get().toByteArray()
|
it.eocdComment = comment.get().toByteArray()
|
||||||
it.get(IncrementalPackager.APP_METADATA_ENTRY_PATH)?.delete()
|
it.get(IncrementalPackager.APP_METADATA_ENTRY_PATH)?.delete()
|
||||||
it.get(JarFile.MANIFEST_NAME)?.delete()
|
it.get(JarFile.MANIFEST_NAME)?.delete()
|
||||||
it.get("assets/dexopt/baseline.prof")?.delete()
|
|
||||||
it.get("assets/dexopt/baseline.profm")?.delete()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
outFile
|
outFile
|
||||||
|
Loading…
Reference in New Issue
Block a user