当前位置: 首页 > 知识库问答 >
问题:

APK扩展-测试时出错

佟和平
2023-03-14

我正在处理APK扩展文件,我查看了以下链接:

1)创建APK扩展文件的步骤

2)http://ankitthakkar90.blogspot.in/2013/01/apk-expansion-files-in-android-with.html

我已经从path sdk path/extras/google导入了market_许可、play_apk_扩展

play_apk_扩展包含三个项目downloader_库、zip_文件和downloader_示例。

现在我有SampleDownloader活动,我面临的问题:

我仍然没有在控制台上传apk文件,我试图测试SampleDownloaderActive proj,但我得到这个错误:

02-21 12:54:13.150: E/AndroidRuntime(544): FATAL EXCEPTION: main
02-21 12:54:13.150: E/AndroidRuntime(544): java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.io.EOFException: DEF length 67 object truncated by 48
02-21 12:54:13.150: E/AndroidRuntime(544):  at com.google.android.vending.licensing.LicenseChecker.generatePublicKey(LicenseChecker.java:121)
02-21 12:54:13.150: E/AndroidRuntime(544):  at com.google.android.vending.licensing.LicenseChecker.<init>(LicenseChecker.java:92)
02-21 12:54:13.150: E/AndroidRuntime(544):  at com.google.android.vending.expansion.downloader.impl.DownloaderService$LVLRunnable.run(DownloaderService.java:765)
02-21 12:54:13.150: E/AndroidRuntime(544):  at android.os.Handler.handleCallback(Handler.java:587)
02-21 12:54:13.150: E/AndroidRuntime(544):  at android.os.Handler.dispatchMessage(Handler.java:92)
02-21 12:54:13.150: E/AndroidRuntime(544):  at android.os.Looper.loop(Looper.java:130)
02-21 12:54:13.150: E/AndroidRuntime(544):  at android.app.ActivityThread.main(ActivityThread.java:3683)
02-21 12:54:13.150: E/AndroidRuntime(544):  at java.lang.reflect.Method.invokeNative(Native Method)
02-21 12:54:13.150: E/AndroidRuntime(544):  at java.lang.reflect.Method.invoke(Method.java:507)
02-21 12:54:13.150: E/AndroidRuntime(544):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-21 12:54:13.150: E/AndroidRuntime(544):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-21 12:54:13.150: E/AndroidRuntime(544):  at dalvik.system.NativeStart.main(Native Method)
02-21 12:54:13.150: E/AndroidRuntime(544): Caused by: java.security.spec.InvalidKeySpecException: java.io.EOFException: DEF length 67 object truncated by 48
02-21 12:54:13.150: E/AndroidRuntime(544):  at org.bouncycastle.jce.provider.JDKKeyFactory.engineGeneratePublic(JDKKeyFactory.java:92)
02-21 12:54:13.150: E/AndroidRuntime(544):  at org.bouncycastle.jce.provider.JDKKeyFactory$RSA.engineGeneratePublic(JDKKeyFactory.java:396)
02-21 12:54:13.150: E/AndroidRuntime(544):  at java.security.KeyFactory.generatePublic(KeyFactory.java:177)
02-21 12:54:13.150: E/AndroidRuntime(544):  at com.google.android.vending.licensing.LicenseChecker.generatePublicKey(LicenseChecker.java:112)

据我所知,BASE64_PUBLIC_密钥存在问题,但我没有给出任何密钥,因为我还没有上传apk,以及如何创建obb文件,我有大约100个图像,大约40mb,我需要将这些文件放在哪里?

共有2个答案

秦鸿羽
2023-03-14

更新阅读这篇文章的人:

附注1

您不能再使用draft,因为获取扩展文件的链接尚未激活。你必须先用扩展文件将一个版本上传到Alpha或Beta。(添加扩展文件只能从您上传的第二个apk开始)因此,请确保在单击apk下“开发者发布”部分中的详细信息时看到列出的apk扩展文件。

附注2

如果您使用的是android studio,并且希望使用downloader库,那么不要只是将包名和java文件复制到您自己的app src目录中。在eclipse中导入downloader库并选择export=

附注3

我不确定这一点,但我也认为有必要至少通过Play商店下载一次应用程序,并通过测试设备上的帐户访问它。所以如果你正在使用阿尔法,创建一个谷歌测试组,并将你自己或其他测试设备添加到其中。

锺离珂
2023-03-14

每个android谷歌游戏开发者控制台帐户都有一个公钥,现在每个应用程序上的谷歌游戏开发者控制台帐户都有唯一的公钥。

对于testin apk扩展文件上传应用程序,在apk上传后,您可以看到以下选项

点击服务

在示例中选择公钥复制粘贴

public class SampleDownloaderService extends DownloaderService {
// stuff for LVL -- MODIFY FOR YOUR APPLICATION!
private static final String BASE64_PUBLIC_KEY ="paste here";

上传apk时,你应该上传任何文件(可能是压缩文件)与任何名称...

private static final XAPKFile[] xAPKS = { new XAPKFile(true, 1, 425553759L)

1是清单中指定的android:versionCode。

上传apk文件时上传的xapk文件将被重命名,并作为sd卡中的obb文件下载

要解压缩obb文件,请单击此处

 类似资料:
  • 当我为我的项目运行我的bitbucket管道时,我在颤振测试期间得到一个错误: /root/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.24.0/lib/src/firebase_app.dart: 18:25:错误:未找到成员:'FirebaseAppPlatform.verify扩展'。FirebaseAppPlatform.verif

  • JUnit5API中有几个可用的扩展点。 null 我可以使用相同的模式,因为上的可见性。 下面有几个具体的例子来演示: > 基于系统属性启用测试的。这可以通过一些反射和使用或样式的进行测试,但是当并行测试执行时,处理起来似乎更加复杂,可能会出现问题。此示例展示了“如何提供实际的并对结果进行断言”的示例。 扩展测试的自定义测试引擎是正确的方法吗? 那么,如何测试各种扩展实现而不依赖于内部API,并

  • 努力更新中...

  • 所以我有两个集成测试类。我正在使用flyway测试扩展重置db。当我从IntelliJ单独运行测试类时,两个都通过了。然而,当我使用mvn clean install或在IntelliJ all test中一起运行它们时,TestClass2会出现异常并失败。 创建名为“flywayInitializer”的bean时出错,该bean在类路径资源[org/springframework/boot/

  • 扩展程序可以利用 Chrome DevTools 为网页提供的一样的调试优势,但它们具有独特的行为属性。成为主扩展调试器需要了解以下行为,扩展组件如何相互配合以及在哪里处理错误。本教程使开发人员对调试扩展有基本的了解。 找到日志 扩展由许多不同的组件组成,这些组件有各自的职责。在此处下载损坏的扩展程序,以开始查找不同扩展程序组件的错误日志。 后台脚本 Background Script 访问 ch

  • 问题内容: 我已经安装了Microsoft Visual Studio 2008。我下载了适用于Windows扩展的zip文件Python并将其内容提取到我的Python27文件夹中。现在有一个名为pywin32-214的子文件夹。(这是32部分的问题吗?我使用的是64位系统。)以下是命令行的文字记录: 我不知道该怎么做。救命? 问题答案: 如果您安装的是64位Python: 在启用“ X64编译