Hi

I am trying to upload images (i have packed all images in to zip)as apk
main expansion files and added apk expansion library and downloaded library
to my application but when am trying to run app am getting exception like
the following...
Note: I have copied properly the PBKey from my publisher account.


11-21 18:24:48.084: E/AndroidRuntime(21220): FATAL EXCEPTION: main
11-21 18:24:48.084: E/AndroidRuntime(21220):
java.lang.IllegalArgumentException: salt.length == 0
11-21 18:24:48.084: E/AndroidRuntime(21220):     at
javax.crypto.spec.PBEKeySpec.<init>(PBEKeySpec.java:79)
11-21 18:24:48.084: E/AndroidRuntime(21220):     at
com.google.android.vending.licensing.AESObfuscator.<init>(AESObfuscator.java:59)
11-21 18:24:48.084: E/AndroidRuntime(21220):     at
com.google.android.vending.expansion.downloader.impl.DownloaderService$LVLRunnable.run(DownloaderService.java:754)


Can anyone help me out ,if provide sample that would be great.


On Sat, Apr 7, 2012 at 10:50 PM, sk <[email protected]> wrote:

> My apk version code is version 3. with it I am using main expansion
> file which was loaded with apk version code 1 (file name is similar to
> main.1.ex.etc.eg.obb). The expansion file downloads fine on a device.
>
> The expansion file has media file, so I using APEZProvider from the
> Google Zip Expansion Library to play it with VideoView.
>
> Calling VideoView.start() causes an Nullpointer exception.
>
> What I have found so far: In APEZProvider.initIfNecessary() returns
> Main expansion file version as 3 instead of 1. Thus trying to open
> ZipResourceFile (mAPKExtensionFile) returns null.
> APEZProvider.openAssetFile() causes null pinter exception as
> mAPKExtensionFile is null.
>
> Relevant code from APEZProvider class in Google Zip Expansion Library:
>
>
> private boolean initIfNecessary() {
>     if ( !mInit ) {
>         Context ctx = getContext();
>         PackageManager pm = ctx.getPackageManager();
>         ProviderInfo pi = pm.resolveContentProvider(getAuthority(),
> PackageManager.GET_META_DATA);
>         PackageInfo packInfo;
>         try {
>             packInfo = pm.getPackageInfo(ctx.getPackageName(), 0);
>         } catch (NameNotFoundException e1) {
>             e1.printStackTrace();
>             return false;
>         }
>         int patchFileVersion;
>         int mainFileVersion;
>         int appVersionCode = packInfo.versionCode;
>         if ( null != pi.metaData ) {
>             mainFileVersion = pi.metaData.getInt("mainVersion",
> appVersionCode);
>             patchFileVersion = pi.metaData.getInt("patchVersion",
> appVersionCode);
>         } else {
>             mainFileVersion = patchFileVersion = appVersionCode;
>         }
>         try {
>             mAPKExtensionFile =
> APKExpansionSupport.getAPKExpansionZipFile(ctx, mainFileVersion,
> patchFileVersion);
>             return true;
>         } catch (IOException e) {
>             e.printStackTrace();
>         }
>     }
>     return false;
> }
>
>
> @Override
> public AssetFileDescriptor openAssetFile(Uri uri, String mode)
>         throws FileNotFoundException {
>     initIfNecessary();
>     String path = uri.getEncodedPath();
>     if ( path.startsWith("/") ) {
>         path = path.substring(1);
>     }
>     return mAPKExtensionFile.getAssetFileDescriptor(path);
> }
>
>
> I am not sure about this line of code in the above: ProviderInfo pi =
> pm.resolveContentProvider(getAuthority(),
> PackageManager.GET_META_DATA); Is this correct?
>
> From Android reference for PackageManager.resolveContentProvider().
>
> public abstract ProviderInfo resolveContentProvider (String name, int
> flags)
>
> Since: API Level 1 Find a single content provider by its base path
> name. Parameters
>
> name The name of the provider to find. flags Additional option flags.
> Currently should always be 0.
>
> Can someone confirm if i am doing something wrong or is it a bug.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to