Проблемы с созданием библиотеки AAR в Android StudioAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблемы с созданием библиотеки AAR в Android Studio

Сообщение Anonymous »

У меня есть проект Android, который я хочу преобразовать в библиотеку .aar. Внутри этого проекта я использую некоторые библиотеки Google, а также свою собственную библиотеку SDK в качестве файла aar. Ниже приведен build.gradle.
Я хочу, чтобы библиотека Google была включена в окончательный вариант aar, но исключила мою собственную библиотеку SDK, поэтому я выбираю реализацию и compileOnly для них соответственно. При компиляции код компилируется успешно, но когда я создаю файл .aar и включаю его в другой проект, по каким-то причинам в него не включается библиотека Google, и выдается эта ошибка:
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/....

Поэтому мне придется вручную добавить его снова в новый проект с помощью реализации .
Есть ли что-нибудь, что мне следует сделать? сделать, чтобы создать правильную библиотеку .aar, которая включает библиотеку Google, но исключает мою библиотеку SDK? Я намерен создать для этого проекта отдельный файл .aar и включить его в качестве плагина вместе с моим SDK.
plugins {
//id 'com.android.application'
id 'com.android.library'
}

android {
namespace 'com.example.sample'
compileSdk 34

defaultConfig {
//applicationId "com.example.sample" //remove for library
minSdk 24
targetSdk 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Google library
compileOnly 'com.google.somelibrary:1.0.0' //should be included in aar
compileOnly files('libs/mysdk.aar') //should NOT be included in aar
}


Подробнее здесь: https://stackoverflow.com/questions/781 ... oid-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»