File tree Expand file tree Collapse file tree 1 file changed +18
-5
lines changed
src/Xamarin.Android.Tools.Bytecode Expand file tree Collapse file tree 1 file changed +18
-5
lines changed Original file line number Diff line number Diff line change @@ -66,12 +66,9 @@ public void Load (Stream jarStream, bool leaveOpen = false)
6666
6767 using ( var jar = CreateZipArchive ( jarStream , leaveOpen ) ) {
6868 foreach ( var entry in jar . Entries ) {
69- if ( entry . Length == 0 )
69+ if ( ! ShouldLoadEntry ( entry ) )
7070 continue ;
71- using ( var s = entry . Open ( ) ) {
72- if ( ! ClassFile . IsClassFile ( s ) || entry . Name . EndsWith ( ".jnilib" , StringComparison . OrdinalIgnoreCase ) )
73- continue ;
74- }
71+
7572 using ( var entry_stream = entry . Open ( ) )
7673 using ( var s = new BufferedStream ( entry_stream ) ) {
7774 try {
@@ -86,6 +83,22 @@ public void Load (Stream jarStream, bool leaveOpen = false)
8683 }
8784 }
8885
86+ static bool ShouldLoadEntry ( ZipArchiveEntry entry )
87+ {
88+ if ( entry . Length == 0 )
89+ return false ;
90+
91+ if ( entry . Name == "module-info.class" )
92+ return false ;
93+
94+ if ( entry . Name . EndsWith ( ".jnilib" , StringComparison . OrdinalIgnoreCase ) )
95+ return false ;
96+
97+ using var s = entry . Open ( ) ;
98+
99+ return ClassFile . IsClassFile ( s ) ;
100+ }
101+
89102 static ZipArchive CreateZipArchive ( Stream jarStream , bool leaveOpen )
90103 {
91104 var encoding = new UTF8Encoding ( encoderShouldEmitUTF8Identifier : false ) ;
You can’t perform that action at this time.
0 commit comments