我正在尝试使用适用于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);
}
}
});
Run Code Online (Sandbox Code Playgroud)
因此,如果先前未发布应用程序,则调用Allow方法.如果应用程序先前已发布,现在不是调用dontAllow方法.
我试过了:
编辑: 如果其他人遇到此问题我收到了谷歌支持团队的邮件
我们知道,新创建的用于测试应用内结算和Google许可服务器(LVL)的帐户会返回错误,并正在努力解决此问题.敬请期待.在此期间,您可以使用2012年8月1日之前创建的任何帐户进行测试.所以它似乎是他们的服务器的问题,如果我使用主开发者线程一切正常.
您是否尝试过使用您也用于发布应用程序的发布密钥对应用程序进行签名?
就像应用程序内计费一样,只有当您使用正确的发布密钥签署应用程序时才能进行测试。否则,Google 无法验证请求是否来自正确的应用。
| 归档时间: |
|
| 查看次数: |
2210 次 |
| 最近记录: |