有没有办法确定 Android 应用程序是在运行时进行生产签名还是调试签名?

2024-02-28

有没有办法确定 Android 应用程序是在运行时进行生产签名还是调试签名?


private static Boolean isDebugBuild = null;
    protected boolean isDebugBuild() {
        if(isDebugBuild == null) {
            PackageManager pm = getPackageManager();
            try {
                PackageInfo pi = pm.getPackageInfo(getPackageName(), 0);
                isSignedWithDebugKey = (pi.applicationInfo.flags &
                    ApplicationInfo.FLAG_DEBUGGABLE) != 0;
            }
            catch(NameNotFoundException nnfe) {
                nnfe.printStackTrace();
                isDebugBuild = false;
            }
        }

        return isDebugBuild;
    }

Since ADT 8 http://developer.android.com/sdk/eclipse-adt.html,如果您没有专门将 debuggable="true" 添加到清单中,则调试版本会将其设置为 true,导出/签名的版本会将其设置为 false。

听起来这可能是一种更可靠的方法(只要您不手动设置可调试..)来确定它是否是调试与发布版本,但不是特别是证书是否是调试证书 - 这是您的问题,所以我的回答可能与你无关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法确定 Android 应用程序是在运行时进行生产签名还是调试签名? 的相关文章

随机推荐