diff --git a/app/build.gradle b/app/build.gradle index cd39abe..3e81f1e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,13 +3,14 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { - compileSdkVersion 29 - buildToolsVersion "29.0.3" + compileSdkVersion 33 + buildToolsVersion "33.0.0" + ndkVersion "22.1.7171670" defaultConfig { applicationId "org.chickenhook.restrictionbypass.app" minSdkVersion 19 - targetSdkVersion 30 + targetSdkVersion 33 versionCode 1 versionName "1.0" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d6bf057..f99d4a6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + diff --git a/restrictionbypass/build.gradle b/restrictionbypass/build.gradle index daf2f22..fc460af 100644 --- a/restrictionbypass/build.gradle +++ b/restrictionbypass/build.gradle @@ -4,12 +4,16 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' group = 'com.github.ChickenHook' android { - compileSdkVersion 31 - buildToolsVersion "30.0.3" - + compileSdkVersion 33 + buildToolsVersion "33.0.0" + ndkVersion "22.1.7171670" + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } defaultConfig { minSdkVersion 19 - targetSdkVersion 31 + targetSdkVersion 33 versionCode 1 versionName "1.0" @@ -42,9 +46,9 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.appcompat:appcompat:1.5.1' testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' // implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } diff --git a/restrictionbypass/src/androidTest/java/org/chickenhook/restrictionbypass/UnsealTest.java b/restrictionbypass/src/androidTest/java/org/chickenhook/restrictionbypass/UnsealTest.java new file mode 100644 index 0000000..e92949e --- /dev/null +++ b/restrictionbypass/src/androidTest/java/org/chickenhook/restrictionbypass/UnsealTest.java @@ -0,0 +1,17 @@ +package org.chickenhook.restrictionbypass; + +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; + +import org.junit.Before; +import org.chickenhook.restrictionbypass.*; +import org.junit.Test; + +public class UnsealTest { + + @Test + public void doUnseal() throws Exception { + Unseal.unseal(); + } + +} diff --git a/restrictionbypass/src/main/java/org/chickenhook/restrictionbypass/Unseal.java b/restrictionbypass/src/main/java/org/chickenhook/restrictionbypass/Unseal.java index 655b6ee..3d0640b 100644 --- a/restrictionbypass/src/main/java/org/chickenhook/restrictionbypass/Unseal.java +++ b/restrictionbypass/src/main/java/org/chickenhook/restrictionbypass/Unseal.java @@ -1,5 +1,9 @@ package org.chickenhook.restrictionbypass; +import android.os.Build; +import android.system.Os; +import android.util.Log; + import java.lang.reflect.Method; public class Unseal { @@ -25,5 +29,8 @@ public static void unseal() throws Exception { args[0] = list; setHiddenApiExemptions.invoke(vmRuntime, args); // setHiddenApiExemptions + if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Log.i("Unseal", "Successfully unsealed process <" + Os.getpid() + ">"); + } } }