我在项目中添加了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>
答案 0 :(得分:0)
只需从您的应用清单中删除icon="@mipmap/login_logo"
和theme="@style/AppTheme"
,然后将PayTM SDK中的drawable ic_launcher替换为您的应用徽标即可。
应用程序将合并两个清单,您将获得所需的主题,并且将从PayTM的清单中获取徽标,因此您将用自己的ic_launcher替换它们。
答案 1 :(得分:0)
最后,我通过从SDK中删除冲突的AppTheme风格解决了这个主题问题。