在android studio

时间:2018-02-15 09:56:57

标签: android

我在项目中添加了PAYTM SDK,现在我遇到了合并清单文件的问题,因为该库有自己的清单文件。

所以我得到了

> Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@mipmap/logo) from AndroidManifest.xml:19:9-42
    is also present at [com.paytm.pgsdk:pgsdk:1.0.6] AndroidManifest.xml:12:9-45 value=(@drawable/ic_launcher).
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:16:5-178:19 to override.

但在我的应用程序代码中添加工具:replace =“android:icon”后,我的应用程序在运行时因以下异常而崩溃。

  

引起:java.lang.IllegalStateException:你需要使用一个   具有此活动的Theme.AppCompat主题(或后代)。

这是我的清单文件。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.demo">

<application
    android:name="android.support.multidex.MultiDexApplication"
    android:allowBackup="true"
    tools:replace="android:icon"
    android:icon="@mipmap/login_logo"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    .
    .
    .
    </application>

2 个答案:

答案 0 :(得分:0)

只需从您的应用清单中删除icon="@mipmap/login_logo"theme="@style/AppTheme",然后将PayTM SDK中的drawable ic_launcher替换为您的应用徽标即可。

应用程序将合并两个清单,您将获得所需的主题,并且将从PayTM的清单中获取徽标,因此您将用自己的ic_launcher替换它们。

答案 1 :(得分:0)

最后,我通过从SDK中删除冲突的AppTheme风格解决了这个主题问题。