如何合并这两个AndroidManifest文件

时间:2018-02-08 21:37:14

标签: android android-studio android-manifest

我目前正在我的项目中使用此AndroidManifest:Current Manifest,但我尝试使用网站上的其他AndroidManifest来实现图片上传服务:Manifest to add

我一直在寻找答案,但我无法成功合并这两个文件。当前的Manifest图片当然不是全部,但我只是向您展示了最重要的部分。我可以将这两个软件包与应用程序和活动合并吗?

当前清单

<manifest
package="org.briarproject.briar"
xmlns:android="http://schemas.android.com/apk/res/android">

<uses-feature android:name="android.hardware.bluetooth"/>
<uses-feature android:name="android.hardware.camera" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

<application
    android:name="org.briarproject.briar.android.BriarApplicationImpl"
    android:allowBackup="false"
    android:icon="@mipmap/ic_launcher_round"
    android:label="@string/app_name"
    android:logo="@mipmap/ic_launcher_round"
    android:theme="@style/BriarTheme">

    <activity
        android:name="org.briarproject.briar.android.reporting.DevReportActivity"
        android:excludeFromRecents="true"
        android:exported="false"

显示添加

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

<!-- the internet permission --> 
<uses-permission android:name="android.permission.INTERNET" />

<application
    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">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

2 个答案:

答案 0 :(得分:0)

你的代码显示了两个不同的包,无论如何,合并几个清单是一个gradle或IDE任务:

&#34;您的APK文件只能包含一个AndroidManifest.xml文件,但您的Android Studio项目可能包含多个 - 由主要源集,构建变体和导入的库提供。因此,在构建应用程序时,Gradle构建会将所有清单文件合并到一个清单文件中,该文件已打包到您的APK中。&#34;

来源:https://developer.android.com/studio/build/manifest-merge.html

答案 1 :(得分:0)

希望合并他们(或者仍然想知道怎么做,阅读其他人的评论后)?。< / p>

如果是这样(您可以使用单独的模块或创建库),单向就像这样:

  • 我将您的旧package name保留为外部main

  • 我确定 <{strong> manifest's

  • 所有权限
  • 我保留了新活动的intent-filter(所以这是发布时的第一个活动)

  • 您需要将新源代码(目录/ s)物理复制到当前源代码中 ("net.simplifiedlearning.volleymysqlexample.MainActivity"表示实际"...\net\simplifiedlearning\volleymysqlexample\MainActivity" { Windows路径约定})

合并manifest's是一个非常简单的操作,合并resources可以是很多工作。你必须问自己的问题:

  • 我是否需要新项目中的resources复制/合并到当前? (他们可能 ,<{em> stringslayoutsstyles和{{1特别是很多更多......)。

  • 新项目的构建系统是否已合并到您的项目中?

示例资源目录(提及所有文件):

themes

合并的res + +---drawable-hdpi +---drawable-land-hdpi +---drawable-land-ldpi +---drawable-land-mdpi +---drawable-land-xhdpi +---drawable-land-xxhdpi +---drawable-land-xxxhdpi +---drawable-mdpi +---drawable-port-hdpi +---drawable-port-ldpi +---drawable-port-mdpi +---drawable-port-xhdpi +---drawable-port-xxhdpi +---drawable-port-xxxhdpi +---drawable-xhdpi +---drawable-xxhdpi +---layout +---menu +---mipmap-hdpi +---mipmap-ldpi +---mipmap-mdpi +---mipmap-xhdpi +---mipmap-xxhdpi +---mipmap-xxxhdpi +---values +---xml

manifest