参考
Android アプリケーション(.apk)の自己署名を検証する方法 | Tech Booster
どの程度効果があるのかは知らないけど
スキルの低い人には効果があるかもしれない。
気休め程度に導入してみた。
/** * 正しく署名されているかチェックする * * @param context * @return */ public static boolean checkSigneture(Context context){ PackageManager pm = context.getPackageManager(); try{ PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); // 通常[0]のみ for(int i = 0; i < packageInfo.signatures.length; i++){ Signature signature = packageInfo.signatures[i]; if(BuildConfig.DEBUG){ if(DEBUG_KEY.equals(signature.toCharsString())){ return true; } }else{ if(RELEASE_KEY.equals(signature.toCharsString())){ return true; } } } }catch(NameNotFoundException e){ e.printStackTrace(); } return false; }