Android编程之防止反编译的实现方法

2019-12-10 19:52:25王旭

2. 检测keystore签名,再与之前得做比较

 

  1. public int getSignature(String packageName) {   PackageManager pm = this.getPackageManager(); 
  2. PackageInfo pi = null;  int sig = 0; 
  3. try {  pi = pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); 
  4. Signature[] s = pi.signatures;  sig = s[0].hashCode();  
  5. } catch (Exception e1) {  sig = 0; 
  6. e1.printStackTrace();  } 
  7. return sig;  } 

3. 检测包名,版本名和版本号,然后做判断:

  1. private String getAppInfo() {  try { 
  2. String pkName = this.getPackageName();  String versionName = this.getPackageManager().getPackageInfo( 
  3. pkName, 0).versionName;  int versionCode = this.getPackageManager() 
  4. .getPackageInfo(pkName, 0).versionCode;  return pkName + " " + versionName + " " + versionCode; 
  5. } catch (Exception e) {  } 
  6. return null;  }