Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez a funkció csak a .NET 9+-ban érhető el.
Az androidos .NET-hez készült Java-kötéskódtárak létrehozásakor gyakori probléma, hogy nem biztosítják a szükséges Java-függőségeket. A kötési folyamat figyelmen kívül hagyja a hiányzó függőségeket igénylő API-t, így a kívánt API nagy részét nem köti össze.
A .NET-szerelvényekkel ellentétben a Java-kódtárak nem határozzák meg a csomag függőségeit. A függőségi adatokat a rendszer POM-fájloknak nevezett külső fájlokban tárolja. Ahhoz, hogy ezeket az információkat felhasználhassa a megfelelő függőségek biztosítása érdekében, egy további fájlréteget kell hozzáadni egy kötésprojekthez.
Jótanács
A rendszerrel való interakció előnyben részesített módja a <AndroidMavenLibrary> használata, amely automatikusan letölti a szükséges POM-fájlokat.
Például:
<AndroidMavenLibrary Include="com.squareup.okio:okio" Version="1.17.4" />
automatikusan ki lesz bontva a következőre:
<AndroidLibrary
Include="<MavenCacheDir>/Central/com.squareup.okio/okio/1.17.4/com.squareup.okio_okio.jar"
Manifest="<MavenCacheDir>/Central/com.squareup.okio/okio/1.17.4/com.squareup.okio_okio.pom"
JavaArtifact="com.squareup.okio:okio:1.17.4" />
<AndroidAdditionalJavaManifest
Include="<MavenCacheDir>/Central/com.squareup.okio/okio-parent/1.17.4/okio-parent-1.17.4.pom"
JavaArtifact="com.squareup.okio:okio-parent:1.17.4" />
etc.
Az itt dokumentált buildelemek használatával azonban manuálisan is engedélyezheti a Java-függőségek ellenőrzését.
Specification
Ha manuálisan szeretne részt venni a Java-függőség ellenőrzésében, adja hozzá a Manifest és JavaArtifact attribútumokat egy <AndroidLibrary> elemhez:
<!-- JavaArtifact format is {GroupId}:{ArtifactId}:{Version} -->
<ItemGroup>
<AndroidLibrary
Include="my_binding_library.jar"
Manifest="my_binding_library.pom"
JavaArtifact="com.example:mybinding:1.0.0" />
</ItemGroup>
A kötési projekt létrehozásakor ellenőrzési hibákat kell eredményeznie, ha my_binding_library.pom olyan függőségeket határoz meg, amelyek nem teljesülnek.
Például:
error : Java dependency 'androidx.collection:collection' version '1.0.0' is not satisfied.
Ha ezeket a hibákat látja, vagy nem jelenik meg hiba, az azt jelzi, hogy a Java-függőség ellenőrzése működik. A hiányzó függőségi hibák kijavításához kövesse a Java-függőségek feloldása című útmutatót.
További POM-fájlok
A POM-fájlok néha olyan opcionális funkciókkal is rendelkezhetnek, amelyek bonyolultabbá teszik őket, mint a fenti példa.
Vagyis egy POM-fájl a "szülő" POM-fájltól függhet:
<parent>
<groupId>com.squareup.okio</groupId>
<artifactId>okio-parent</artifactId>
<version>1.17.4</version>
</parent>
Emellett egy POM-fájl "importálhatja" a függőségi adatokat egy másik POM-fájlból:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio-bom</artifactId>
<version>3.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
A függőségi adatok nem határozhatók meg pontosan anélkül, hogy hozzá kellene férniük ezekhez a további POM-fájlokhoz, és a következőhöz hasonló hibát eredményeznek:
error : Unable to resolve POM for artifact 'com.squareup.okio:okio-parent:1.17.4'.
Ebben az esetben meg kell adnunk a POM-fájlt a következőhöz com.squareup.okio:okio-parent:1.17.4:
<!-- JavaArtifact format is {GroupId}:{ArtifactId}:{Version} -->
<ItemGroup>
<AndroidAdditionalJavaManifest
Include="com.square.okio.okio-parent.1.17.4.pom"
JavaArtifact="com.squareup.okio:okio-parent:1.17.4" />
</ItemGroup>
Vegye figyelembe, hogy mivel a "Szülő" és az "Import" POM-nak lehetnek szülő- és importált POM-fájljai, ezt a lépést meg kell ismételni, amíg az összes POM-fájl feloldható.
Vegye figyelembe azt is, hogy ha ezt használja <AndroidMavenLibrary> , az összeset automatikusan kell kezelni.
Ezen a ponton, ha függőségi hibák lépnek fel, kövesse a Java-függőségek feloldása útmutatót a hiányzó függőségi hibák kijavításához.