导航菜单

安全与权限管理

权限申请

// AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />

// 运行时权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
    != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 1);
}

数据加密

// AES加密
Cipher cipher = Cipher.getInstance("AES");
SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encrypted = cipher.doFinal(data);

防止逆向与代码混淆

# proguard-rules.pro
-keep class com.example.** { *; }
-dontwarn com.example.**
-optimizations !code/simplification/arithmetic
-keepattributes Signature,InnerClasses