Prevent crashes on non rooted devices

This commit is contained in:
topjohnwu 2018-02-01 04:42:59 +08:00
parent c60adb113e
commit 50a49e2c8c
3 changed files with 13 additions and 15 deletions

View File

@ -8,7 +8,7 @@ android {
applicationId "com.topjohnwu.magisk" applicationId "com.topjohnwu.magisk"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 27 targetSdkVersion 27
versionCode 91 versionCode 94
versionName "5.5.5" versionName "5.5.5"
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {
@ -46,7 +46,7 @@ repositories {
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':utils') implementation project(':utils')
implementation 'com.github.topjohnwu:libsu:1.0.0' implementation 'com.github.topjohnwu:libsu:1.0.1'
implementation 'com.android.support:recyclerview-v7:27.0.2' implementation 'com.android.support:recyclerview-v7:27.0.2'
implementation 'com.android.support:cardview-v7:27.0.2' implementation 'com.android.support:cardview-v7:27.0.2'
implementation 'com.android.support:design:27.0.2' implementation 'com.android.support:design:27.0.2'

View File

@ -1,6 +1,4 @@
### v5.5.5 ### v5.5.5 (93)
- Fix crashes on Lollipop and some devices that don't follow AOSP standards - Remove JNI requirement, Magisk Manager is now pure Java
- Update the method to handle global su database (v15+), should fix root request not saving issue
### v5.5.4 on many devices
- Fix on-boot dtbo detection
- Add fingerprint authentication for Superuser requests

View File

@ -55,6 +55,13 @@ public class SuDatabaseHelper {
private SuDatabaseHelper(MagiskManager mm) { private SuDatabaseHelper(MagiskManager mm) {
pm = mm.getPackageManager(); pm = mm.getPackageManager();
mDb = openDatabase(mm); mDb = openDatabase(mm);
int version = mDb.getVersion();
if (version < DATABASE_VER) {
onUpgrade(mDb, version);
} else if (version > DATABASE_VER) {
onDowngrade(mDb);
}
mDb.setVersion(DATABASE_VER);
clearOutdated(); clearOutdated();
} }
@ -107,13 +114,6 @@ public class SuDatabaseHelper {
// Not using legacy mode, open the mounted global DB // Not using legacy mode, open the mounted global DB
db = SQLiteDatabase.openOrCreateDatabase(dbFile, null); db = SQLiteDatabase.openOrCreateDatabase(dbFile, null);
} }
int version = db.getVersion();
if (version < DATABASE_VER) {
onUpgrade(db, version);
} else if (version > DATABASE_VER) {
onDowngrade(db);
}
db.setVersion(DATABASE_VER);
return db; return db;
} }