我正在尝试使用适用于Android的APK扩展文件扩展程序。 我已将APK与扩展文件一起上传到服务器。如果申请 之前已发布我收到服务器的回复说NOT_LICENSED: 我使用的代码是:
APKExpansionPolicy aep = new APKExpansionPolicy(mContext,
new AESObfuscator(getSALT(), mContext.getPackageName(), deviceId));
aep.resetPolicy();
LicenseChecker checker = new LicenseChecker(mContext, aep,
getPublicKey();
checker.checkAccess(new LicenseCheckerCallback() {
@Override
public void allow(int reason) {
@Override
public void dontAllow(int reason) {
try
{
switch (reason) {
case Policy.NOT_LICENSED:
mNotification.onDownloadStateChanged(IDownloaderClient.STATE_FAILED_UNLICENSED);
break;
case Policy.RETRY:
mNotification.onDownloadStateChanged(IDownloaderClient.STATE_FAILED_FETCHING_URL);
break;
}
} finally {
setServiceRunning(false);
}
}
@Override
public void applicationError(int errorCode) {
try {
mNotification.onDownloadStateChanged(IDownloaderClient.STATE_FAILED_FETCHING_URL);
} finally {
setServiceRunning(false);
}
}
});
因此,如果先前未发布应用程序,则调用Allow方法。如果应用程序先前已发布,现在不是调用dontAllow方法。
我试过了:
修改 如果其他人遇到此问题,我会收到来自Google支持团队的邮件
我们知道新创建的帐户用于测试应用内结算 和Google许可服务器(LVL)返回错误,并正在努力 解决这个问题。敬请期待。在此期间,你可以 使用2012年8月1日之前创建的任何帐户进行测试。 因此,如果我使用主开发者线程,它们的服务器似乎是一个问题 一切正常。
答案 0 :(得分:0)
您是否尝试使用您用于发布应用程序的发布密钥对应用程序进行签名?
与应用内结算一样,只有在使用正确的发布密钥对应用进行签名时才能对此进行测试。否则Google无法验证请求是否来自正确的应用。