我上传了我的apk到Google Play,但由于我有一个扩展文件而不得不再次上传,当然你不能在第一次尝试时上传扩展文件。当我第二次上传apk时,我将版本更改为2,并将其命名为我的扩展文件main.2.com.ssowens.groovebass.obb。因此,我调整了代码中的版本并重命名了obb文件。现在找不到文件,我不能为我的生活找出原因。我还需要为版本更新更新什么?
这是我改变的: 清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="main.2.com.ssowens.groovebass.obb"
android:versionCode="2"
android:versionName="1.0" >
在DownloaderFragment中
public static final int MAIN_EXPANSION_FILE_VERSION = 2;
这里没有改变任何东西,但似乎是失败的地方
boolean expansionFilesDelivered() {
for (XAPKFile xf : xAPKS) {
String fileName = Helpers.getExpansionAPKFileName(getActivity(),
xf.mIsMain, xf.mFileVersion);
if (VERBOSE) Log.v(TAG, "+++ fileName +++ " + fileName + " " + xf.mFileSize + " "
+ " " + xf.mIsMain + " , " + xf.mFileVersion);
if (!Helpers.doesFileExist(getActivity(), fileName, xf.mFileSize, false))
return false;
}
return true;
}
这是打印在日志中的内容:
09-16 17:56:16.045: E/Trace(20344): error opening trace file: No such file or directory (2)
09-16 17:56:16.138: V/DownloaderFragment(20344): +++ fileName +++ main.2.com.ssowens.groovebass.obb FileSize=> 519953080 xf.mIsMain=> true xf.mFileVersion=> 2
09-16 17:56:16.138: V/DownloaderFragment(20344): +++ expansionFilesNotDelivered +++
09-16 17:56:16.232: D/LVLDL(20344): Service Bound
09-16 17:56:16.271: D/libEGL(20344): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
09-16 17:56:16.310: D/libEGL(20344): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
09-16 17:56:16.318: D/libEGL(20344): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
09-16 17:56:16.443: D/OpenGLRenderer(20344): Enabling debug mode 0
09-16 17:56:16.802: I/LicenseChecker(20344): Binding to licensing service.
09-16 17:56:17.013: I/LicenseChecker(20344): Calling checkLicense on service for com.ssowens.groovebass
09-16 17:56:17.013: I/LicenseChecker(20344): Start monitoring timeout.
09-16 17:56:17.615: I/LicenseChecker(20344): Received response.
09-16 17:56:17.615: I/LicenseChecker(20344): Clearing timeout.
09-16 17:56:17.623: E/LicenseValidator(20344): Signature verification failed.
以下是文件的名称:
main.2.com.ssowens.groovebass.obb
验证文件目录,文件大小和文件名。
答案 0 :(得分:1)
我有类似的问题,在我上传到Google Play后无法阅读扩展文件(在第二次上传带有扩展包的APK文件到Google Play)
我发现Google Play会根据软件包版本代码自动将扩展文件从1更新为2。所以我在PackageInfo
VersionCode
添加了APKExpansionSupport
,问题就解决了。
示例:
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
ZipResourceFile zrf = APKExpansionSupport.getAPKExpansionZipFile(TravelDoorStartActivity.this, pInfo.versionCode, 0);
希望这会像我一样帮助其他初学者:)
答案 1 :(得分:0)
看起来您已将扩展文件名放在包名称
的位置package="main.2.com.ssowens.groovebass.obb"
我想你应该:
package="com.ssowens.groovebass"
[main|patch].<expansion-version>.<package-name>.obb