Skip to content

Net7 and Net8 Android projects with AndroidLibrary try to generate binding instead of add it as reference like Xamarin project does #8609

@rfrailemartinez

Description

@rfrailemartinez

Android application type

.NET Android (net7.0-android, net8.0-android, etc.)

Affected platform version

Net 7 and Net 8

Description

We have somo bindings of libraries that references other libraries. In Xamarin projects we only make binding of the principal aar file, like libraryProjectZip, the one that we want to exponse methods to our code. This project is added to the final project as rejerence or as nuget. The rest of the libraries we added to final project as AndroidLibrary, when we compile the project, this files are visible for the java virtual machine and everithing works ok.

In new Net 8 or 7 android project, if you mark a aar file as AndroidLibrary, in spite of doing the same as Xamarin Android project, it try to generate a Android binding of the file and report the same errors that you have if you create a binding project.

We expect tp have the same behavoir that we have in Xmarin projects:

if is a binding project, try to generate binding an expose all methods
if is a Android porject, expose this file to JVM.
This problem make us impossible to migrate lot of projects that we jave with native bindings.

Steps to Reproduce

Create a Net 8 Android project
Add aar file
Compile project
you will see the same errors as if you put this file in a Net 8 Android Binding Project

Did you find any workaround?

No response

Relevant log output

For example for glide-4.16.0.aar, we have this errors
Gravedad	Código	Descripción	Proyecto	Archivo	Línea	Estado suprimido
Error	CS0534	'AssetFileDescriptorLocalUriFetcher' no implementa el miembro abstracto heredado 'LocalUriFetcher.Close(Object?)'	TestNet	...\obj\Debug\net8.0-android\generated\src\Com.Bumptech.Glide.Load.Data.AssetFileDescriptorLocalUriFetcher.cs	20	Activo
Error	CS0534	'AssetFileDescriptorLocalUriFetcher' no implementa el miembro abstracto heredado 'LocalUriFetcher.LoadResource(Uri?, ContentResolver?)'	TestNet	...\obj\Debug\net8.0-android\generated\src\Com.Bumptech.Glide.Load.Data.AssetFileDescriptorLocalUriFetcher.cs	20	Activo
Error	CS0534	'FileDescriptorAssetPathFetcher' no implementa el miembro abstracto heredado 'AssetPathFetcher.Close(Object?)'	TestNet	...\obj\Debug\net8.0-android\generated\src\Com.Bumptech.Glide.Load.Data.FileDescriptorAssetPathFetcher.cs	20	Activo
Error	CS0534	'FileDescriptorAssetPathFetcher' no implementa el miembro abstracto heredado 'AssetPathFetcher.LoadResource(AssetManager?, string?)'	TestNet	...\obj\Debug\net8.0-android\generated\src\Com.Bumptech.Glide.Load.Data.FileDescriptorAssetPathFetcher.cs	20	Activo
Error	CS0534	'FileDescriptorLocalUriFetcher' no implementa el miembro abstracto heredado 'LocalUriFetcher.Close(Object?)'	TestNet	
...

Same errors that you recive if you try to make a binding library project.

Metadata

Metadata

Labels

Area: App+Library BuildIssues when building Library projects or Application projects.need-attentionA xamarin-android contributor needs to review

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions