Bug 18526 - I18n dlls do not exist in debug apks
Summary: I18n dlls do not exist in debug apks
Status: VERIFIED FIXED
Alias: None
Product: Android
Classification: Xamarin
Component: General ()
Version: 4.12.0
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Jonathan Pryor
URL:
Depends on:
Blocks:
 
Reported: 2014-03-21 18:02 UTC by Peter Collins
Modified: 2014-07-07 15:01 UTC (History)
2 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
VERIFIED FIXED

Description Peter Collins 2014-03-21 18:02:41 UTC
Steps:
1. Create a new android project, select a few internationalization options in the project settings.
2. Build the apk.
3. unzip -l *.apk
4. Check to see if the selected i18n dlls exist in the apk.

Expected:
Selected i18n dlls exist in the apk for both debug and release builds.

Actual:
Selected i18m dlls exist only in release builds.

Environment:
Mavericks
Mono 3.4.0 ((no/704ca78)
XA 4.12.3 / 45bbea3
Comment 1 Jonathan Pryor 2014-03-22 12:57:12 UTC
Is the "Use Shared Mono Runtime" checkbox selected? If it is, then the I18N.dll assemblies will be resolved within the separate Mono.Android.DebugRuntime-debug.apk package. They will not be stored within your .apk.

(This is separate from "Fast assembly deployment", as the I18N assemblies are stored with the BCL assemblies. Even if "Fast assembly deployment" is _disabled_, if "Use Shared Mono Runtime" is _enabled_ then e.g. mscorlib.dll will NOT be stored within the .apk, JUST the app .dll's will be.)
Comment 2 Peter Collins 2014-04-01 12:31:01 UTC
@jonp: I am able to see these dll files on Debug builds if the following conditions are true:

> Use Shared Mono Runtime = false
> FastDev = false
> Linker = LinkSdkOnly

Is this expected? Simply disabling the "Use Shared Mono Runtime" option does not result in the i18n dlls being listed in the application apk.
Comment 3 Jonathan Pryor 2014-04-01 15:54:23 UTC
Fixed in monodroid/62fb95bc.
Comment 4 Ram Chandra 2014-07-07 15:01:30 UTC
I have checked this issue on following builds:

Mac OS X 10.9.3
Xamarin Studio: 5.2 (build 180)
Xamarin.Android : 4.14.0

Build Information 
Release ID: 502000180
Git revision: c27cfff0160e6f3d8ad82b57be030d6adf866743
Build date: 2014-07-04 18:06:04-04
Xamarin addins: 68026ad1ccee9923e927d9cfcca408d673d5ab61

When I create an android application and build the apk file and unzip the .apk file I observed that zip folder contains i18N.dll in assembly folder and i18N.dll exits on both debug and release builds.

Screencast: http://www.screencast.com/t/sVsY0ZJly1

This issue has been fixed. Hence I am closing this issue.