- Home /
How Unity(version 4.7.2) strip code in Android project,How Unity(version 4.7.2) strip code in Android project
For some reason, My project are still using Unity4.7.2
A fews days ago, we have refactor our game project. After that, our Android build have experience this error:
01-08 15:20:33.732: E/Unity(6807): Assert failed! ConsoleViewMobile Exception: Method not found: 'Default constructor not found...ctor() of System.ComponentModel.Int32Converter'. , Stack: at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in :0
01-08 15:20:33.732: E/Unity(6807): at System.Activator.CreateInstance (System.Type type) [0x00000] in :0
01-08 15:20:33.732: E/Unity(6807): at System.ComponentModel.TypeDescriptor.GetConverter (System.Type type) [0x00000] in :0
public static T SmartConvert<T>(string InArgument)
{
var TypeConverter = TypeDescriptor.GetConverter(typeof(T));
if (TypeConverter != null)
{
DebugHelper.Assert(TypeConverter.CanConvertFrom(typeof(string)));
return (T)TypeConverter.ConvertFrom(InArgument);
}
return default(T);
}
And meantime, same code runs fine in iOS build.
My suspicion: Unity strip some unused code. Before our refactoring, we may have reference those code somewhere, so everything runs fine. Then we remove those references during refactoring, so error happens. We finally reslove this problem by adding reference manully like this:
private static System.ComponentModel.Int64Converter _unused = new System.ComponentModel.Int64Converter();
private static System.ComponentModel.DecimalConverter _unused2 = new System.ComponentModel.DecimalConverter();
private static System.ComponentModel.ByteConverter _unused3 = new System.ComponentModel.ByteConverter();
private static System.ComponentModel.CollectionConverter _unused4 = new System.ComponentModel.CollectionConverter();
And it works. So my question is:What's the difference Unity do code strip in android and iOS? Or could someone give me some documents about that? cannot find any documents for that version :( unity old version link seems all dead.
Your answer
![](https://koobas.hobune.stream/wayback/20220612185608im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Missing 3 level of code stripping in player settings for Android 1 Answer
Android build problem with stripping level and Newtonsoft.Json.dll 3 Answers
No Line numbers in stack trace for debug android build using IL2CPP 1 Answer
invoke keyboard on android? 1 Answer
UnityWebRequest uploadProgress 1 Answer