マージエラーはいろいろな要因が重なり合って起こりうるエラーなので、この記事に書いてあることが普遍的な解決になるとは、限りません。ただ、情報が著しく少ないので、ハマったら抜け出せない厄介なエラーです。少しでも解決の糸口になればと思い、情報を残します。
再度言いますが、解決する保証はないです。参考に。
Contents
tools:replace specified at line:4 for attribute android:theme, but no new value specified
最初に出会ったエラーがこちら。どうやら、置き換える数値が設定されてないよ、とのこと。まったくもって意味が分からないので、とりあえず下の方法で回避。
マニフェストファイルをルートに追加する
このサイト(こちら)にあるテンプレートをAsset/Plugins/Androidに配置してみます。リンク先のサイトが消滅するのが怖いので、コードを引用させていただきます。
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player">
<application
android:theme="@style/UnityThemeSelector"
android:icon="@drawable/app_icon"
android:label="@string/app_name">
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
</manifest>
uses-sdk:minSdkVersion 18 cannot be smaller than version 21 declared in library
上のテンプレートファイルを追加してから、再度ビルドしてみたところ、エラーメッセージが変わりました。 また、ログには、解決法も出力されていました。
uses-sdk:minSdkVersion 18 cannot be smaller than version 21 declared in library [:Tenjin]
Suggestion: use a compatible library with a minSdk of at most 18,
or increase this project's minSdk version to at least 21,
or use tools:overrideLibrary="com.tenjin.TenjinUnitySDKExample" to force usage (may lead to runtime failures)
少しだけ補足すると、このときのプロジェクトには、Tenjinというアプリインストールの流入元をトラックするツールを仕込んでいました。どうやら、そのTenjinが設定しているAndroidの最低SDKバージョンが、プラグインのサポート範囲を外れているようです。
ログにある解決法だと、ライブラリを書き換える方法が示されていますが、サードパーティのスクリプトを書き換えるのはちょっと怖いので、Unityの設定を底上げしてみます。
ツールバーから[Edit] > [Project Settings] を選び、Playerのタブにある、Minimum API Levelを引き上げます。今回はAPI level 21を最低に選びました。
この対処法で、再度ビルドしてみると、無事apkファイルが出力されました。
まとめ
AndroidManifest周りのエラーはドキュメントがとても少なく、かつプロジェクトの制作環境に強く依存するので、これといった解決方法がありません。また、コンソールのエラー情報がすこぶる分かりにくいので、原因究明にとても時間がかかります。
この記事に書いてあることを試しても、一発で解決する保証はありません。しかし、ここにある情報から解決の糸口になりうるかもしれないと思い、記事にしました。少しでも、エラー解決の助けになれば幸いです。
はぁー、アプリ開発はつらい。
参考文献
強火で進め , id:nakamura001 , 観覧日2020/06/04