Added crashlytics and answer from fabric.io. Add warning for rooted device. Change migration to KeyChain.
parent
4fb8cfa939
commit
3c89a5ec0d
@ -0,0 +1,42 @@ |
|||||||
|
package com.wallet.crypto.trustapp.util; |
||||||
|
|
||||||
|
import java.io.BufferedReader; |
||||||
|
import java.io.File; |
||||||
|
import java.io.InputStreamReader; |
||||||
|
|
||||||
|
/** @author Kevin Kowalewski */ |
||||||
|
public class RootUtil { |
||||||
|
public static boolean isDeviceRooted() { |
||||||
|
return checkRootMethod1() || checkRootMethod2() || checkRootMethod3(); |
||||||
|
} |
||||||
|
|
||||||
|
private static boolean checkRootMethod1() { |
||||||
|
String buildTags = android.os.Build.TAGS; |
||||||
|
return buildTags != null && buildTags.contains("test-keys"); |
||||||
|
} |
||||||
|
|
||||||
|
private static boolean checkRootMethod2() { |
||||||
|
String[] paths = { "/system/app/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su", |
||||||
|
"/system/bin/failsafe/su", "/data/local/su", "/su/bin/su"}; |
||||||
|
for (String path : paths) { |
||||||
|
if (new File(path).exists()) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
private static boolean checkRootMethod3() { |
||||||
|
Process process = null; |
||||||
|
try { |
||||||
|
process = Runtime.getRuntime().exec(new String[] { "/system/xbin/which", "su" }); |
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); |
||||||
|
if (in.readLine() != null) return true; |
||||||
|
return false; |
||||||
|
} catch (Throwable t) { |
||||||
|
return false; |
||||||
|
} finally { |
||||||
|
if (process != null) process.destroy(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue