java - 检查包名是否改变

标签 java android apk reverse-engineering

我想通过显示 Toast 来保护我的 APK 免受逆向工程的影响,或者在包名称更改时执行某些操作,现在如果包更改,应用程序将停止工作。

if (getPackageName().compareTo("com.apk.example") != 0) {

    String error = null; 
    error.getBytes();
}

最佳答案

您需要检查您的包名称和应用程序 ID,以确保您的应用没有被篡改:

String yourPackageName = "com.apk.example"; // android package name
String packageName = getApplicationContext().getPackageName();

// can be different from your package name if you're using flavor
// in app.build.gradle, 
String yourApplicationId = "com.apk.example"; 

if(packageName.equals(yourPackageName) && BuildConfig.APPLICATION_ID.equals(yourApplicationId)) {
   // no problem here
} else {
   // app is tampered, do something
}

关于java - 检查包名是否改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50575160/

相关文章:

java - 如何将 firebase 数据库中的数据构造为 List<String>?

java - Android Volley Request中出现网络或超时错误时如何再次调用API

java - Dspace安装成功但部署后不显示页面

android - 更改按钮android :background to different drawable

android - 我的应用程序只是构建并且从未在实际设备上安装 apk(Android Studio)

java - Eclipse 中的 AutoIndent 可能吗?

android - 在eclipse for android中构建路径错误

java - 应用程序从 Eclipse 导入 Android Studio,gradle 错误

android - 安装两个版本的 apk(具有不同的 applicationIds)

android - 在 Android Studio 中生成签名的 APK