1

私はAPK拡張ファイルに取り組んでいます、私はこれらのリンクを調べました:

1)APK拡張ファイルを作成する手順

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

パスsdk-path/extras / googleからmarket_licensing、play_apk_expansionをインポートしました

play_apk_expansionには、downloader_library、zip_file、downloader_sampleの3つのプロジェクトが含まれています。

今、私は問題に直面しているSampleDownloaderActivityを持っています:

まだコンソールにapkファイルをアップロードしていません。SampleDownloaderActivityプロジェクトをテストしようとしていますが、次のエラーが発生します。

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_KEYの問題を知っている限り、apkをアップロードしていないので、そのようなキーを指定していません。また、obbファイルの作成方法についても、約40MBの約100枚の画像があります。どこに必要ですか。これらのファイルを配置するには?

4

2 に答える 2

4

アカウントの詳細で以前の新しいAndroidグーグルプレイ開発者コンソールとは異なり、AndroidでAPK拡張ファイルを使用している間ここに画像の説明を入力してください

以前は、Android google play開発者コンソールアカウントごとに1つの公開鍵があり、現在はgoogleplay開発者コンソールアカウントの各アプリごとに一意の公開鍵があります。

testin apk拡張ファイルの場合、アプリをアップロードします。apkにアップロードした後、次のようなオプションが表示されます。

ここに画像の説明を入力してください

サービスとAPIをクリックします

ここに画像の説明を入力してください

サンプルで公開鍵コピーペーストを選択します

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

apkをアップロードするときは、任意の名前のファイル(zipファイルの場合もあります)をアップロードする必要があります。アップロードするファイルのサイズが、sampledownloaderアクティビティに入力したファイルサイズであることを確認する必要があります。

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

1は、マニフェストで指定されたandroid:versionCodeです。

ここに画像の説明を入力してください

apkのアップロード中にxapkファイルをアップロードしたもの同じファイルの名前が変更され、SDカードのobbファイルとしてダウンロードされます

obbファイルなどを解凍するには、ここをクリックしてください

于 2013-02-26T11:02:16.927 に答える
0

この投稿を読んでいる人のための更新:

注1

拡張ファイルを取得するためのリンクがまだアクティブになっていないため、ドラフトを使用できなくなりました。最初に、拡張ファイルを使用してバージョンをAlphaまたはBetaにアップロードする必要があります。(拡張ファイルの追加は、アップロードした2番目以降のapkからのみ可能です)したがって、APKの下の開発者公開セクションで詳細をクリックすると、apk拡張ファイルがリストされていることを確認してください。

注2

android studioを使用していて、ダウンローダーライブラリを利用したい場合は、パッケージ名とJavaファイルを独自のアプリのsrcディレクトリにコピーしないでください。Eclipseでダウンローダーライブラリをインポートし、エクスポート=>gradleビルドファイルを選択します。その後、AndroidStudioのモジュールとしてライブラリをインポートできます。

注3

これについてはよくわかりませんが、Playストアからアプリを少なくとも1回ダウンロードして、テストデバイスのアカウントでアクセスできるようにする必要があると思います。したがって、アルファを使用している場合は、google +テストグループを作成し、それに自分自身または他のテストデバイスを追加します。

于 2014-09-24T19:10:18.387 に答える