В настоящее время я пытаюсь соединить Heremaps android sdk для реактивного через внешнюю библиотеку. Я успешно соединил его в локальном реактивном нативном проекте, и в настоящее время я нахожусь в процессе создания android части библиотеки.
В настоящее время с текущей реализацией, которую я имею, я сталкиваюсь с этой ошибкой, когда Я пытаюсь запустить android build:
- Что пошло не так: не удалось определить зависимости задачи ': app: preDebugBuild'. Не удалось разрешить все зависимости задач для конфигурации ': app: debugRuntimeClasspath'. Не смог найти: ЗДЕСЬ-sdk :. Требуется: project: app> project: response-native-heremaps-bridge
SDK находится в {libraryname} / android / app / libs в моей внешней библиотеке
Мой android / app build.gradle во внешней библиотеке выглядит следующим образом.
apply plugin: 'com.android.library'
def safeExtGet(prop, fallback) {
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
repositories {
flatDir {
dirs 'libs'
}
}
android {
compileSdkVersion safeExtGet("compileSdkVersion", 28)
buildToolsVersion safeExtGet("buildToolsVersion", '28.0.3')
defaultConfig {
minSdkVersion safeExtGet('minSdkVersion', 17)
targetSdkVersion safeExtGet('targetSdkVersion', 26)
versionCode 1
versionName "1.0" nb
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// React Native
implementation "com.facebook.react:react-native:+"
// HereMaps SDK
implementation(name:'HERE-sdk', ext:'aar')
}
и android уровень build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 17
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
flatDir {
dirs 'libs'
}
}
}
На реагирующей нативной стороне мой build.gradle на уровне android / app имеет только эти изменения:
dependencies {
implementation project('{project-name}')
}
И мои settings.gradle включают эти изменения:
include ':{library name}'
project(':{library name}').projectDir = new File(rootProject.projectDir, '../node_modules/{library name}/android/app')
И, наконец, в моем MainApplication. java:
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for
// example:
packages.add(new HeremapsPackage()); //<------added this line
return packages;
}
Есть идеи, что мне здесь не хватает? Я бы не хотел добавлять sdk в мое основное приложение Reaction-native, так как оно близко к 100mbs. Спасибо!