2017-10-05 5 views
0

두 개의 Android 프로젝트가 개별적으로 작동합니다 (A 및 B). 각 자식 프로젝트를 호출하는 두 개의 단추가있는 부모 프로젝트를 만들었습니다 (자식 프로젝트를 라이브러리로 포함 시켰습니다). 처음에는 부모 프로젝트에 자식 프로젝트 하나를 추가 했으므로 제대로 작동합니다. 그러나 두 번째 자식 프로젝트를 추가하면 안드로이드 매니페스트 합병 오류가 발생합니다. 각 하위 응용 프로그램은 시작할 때 등록하기 위해 SDK 키가 필요합니다. 이것은 아래와 같이 매니페스트에 정의되어Android Manifest 합병 실패

어린이 앱 A :

<application 
    android:name=".DemoApplication" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme" 
    tools:replace="android:icon"> 

    <!-- DJI SDK --> 
    <uses-library android:name="com.android.future.usb.accessory" /> 

    <meta-data 
     android:name="com.dji.sdk.API_KEY" 
     android:value="f70d587986XXXXXXXXXX"/> 

어린이 애플리케이션 B : 오류 로이드 매니페스트 제공

<application 
    android:name=".DJIDemoApplication" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <!-- DJI SDK --> 

    <uses-library android:name="com.android.future.usb.accessory" /> 

    <meta-data 
     android:name="com.dji.sdk.API_KEY" 
     android:value="2cde5eaabXXXXXXXXXXXX" /> //TODO: Enter your app key here 

메타 부의 API_KEY 값으로 할 것

. 내 생각 엔 명시 적 병합시 API_KEY의 사용 가치를 알 수 없습니다. 그러나, 두 애플 리케이션을 모두 등록하는 두 값이 필요합니다. 나는 'tools : replace = android : value'를 자식 응용 프로그램 중 하나에 추가하려했지만 컴파일 된 응용 프로그램은 하나의 자식 만 실행합니다. 다음과 같이 정확한 오류는 다음과 같습니다

Error: Attribute meta-data#[email protected] value=(f70d587986XXXXXXXXXX) from AndroidManifest.xml:34:55-95 is also present at AndroidManifest.xml:34:55-95 value=(2cde5eaabXXXXXXXXXXXXX). Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:34:9-97 to override. app main manifest (this file), line 33 

나는 안드로이드에 새로운 오전이 문제를 해결하는 방법을 모르겠어요. 이에 관한 도움은 매우 감사하겠습니다. AndroidManifest.xml에

두 파일에

<meta-data 
     android:name="com.dji.sdk.API_KEY" 
     android:value="2cde5eaabXXXXXXXXXXXX" /> 

prensent에 의한이 오류의 요소에

답변

1

추가 'tools:replace="android:value"'