1

я добавил удаленного Maven репо на мой андроид проект библиотеки с ниже изменениями в моей build.gradle:Добавление удаленного репо в Gradle - Manifest слияние не удалось

apply plugin: android-library 
buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath com.android.tools.build:gradle:+ 
    } 
} 
apply plugin: maven 
repositories { 
    mavenCentral() 
    maven { 
     url https://mvn.xxx.com/content/repositories/releases/ 
     credentials { 
      username xxxxxx 
      password yyyyyy 
     } 
    } 
} 

теперь дает мне явную ошибку слияния с указанием имя моего библиотечного пакета конфликтует с удаленным репо.

Execution failed for task :spuul:processDebugTestManifest. 
> java.lang.RuntimeException: Manifest merger failed : 
Attribute instrumentation#[email protected] 
value=(com.myLibrary.core.test) from manifestMerge1961318094990565159.xml:12:22 
    is also present at com.remote.mavenrepo:1.0_7.64:16:9 value=(com.remote.mavenrepo) 
    Suggestion: add 'tools:replace="android:targetPackage"' to <instrumentation> 
    element at manifestMerge1961318094990565159.xml:11:5 to override 

Не уверен, что нужно сделать, чтобы решить эту проблему. Есть ли способ пропустить создание тестовых сборников? Спасибо.

ответ

0

В AndroidManifest.xml файлов, добавить

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.android.interpolatorplayground.tests" 
     **xmlns:android="http://schemas.android.com/tools"** 
     android:versionCode="1" 
     android:versionName="1.0"> 

....

<instrumentation 
     android:name="android.test.InstrumentationTestRunner" 
     android:targetPackage="com.example.android.interpolatorplayground" 
     **tools:replace="android:targetPackage"** 
     android:label="Tests for com.example.android.interpolatorplayground" /> 

.... смотрите здесь Markers tools:replace

+0

как говорится в @rydnr, это «xmlns: tools», а не «: android». – amIT

2

Джон Вуонг ответ правильный, но содержит незначительную ошибку: пространство имен XML должно быть псевдонимом для «tools», а не «android».

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.interpolatorplayground.tests" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:versionCode="1" 
    android:versionName="1.0"> 

 Смежные вопросы

  • Нет связанных вопросов^_^