Es ist wirklich schwer Einheit des Projekts in eine bestehende Android-Projekt zu importieren. Die Lösung ist stattdessen umgekehrt.
Erstellen Sie das Android Studio-Projekt als JAR- oder .ARR-Plugin und platzieren Sie es dann in Ihrem Unity-Projekt unter: <ProjectName>Assets\Plugins\Android
.
Wenn Sie Ihre Android Studio-Projektaktivität laden möchten, müssen Sie die AndroidManifest.xml
ändern, damit Unity benachrichtigt wird, und dann folgende Adresse eingeben: <ProjectName>Assets\Plugins\Android
.
Unten ist, wie das XML aussehen soll. Es gibt den Namen der Aktivität an, die geladen werden soll, und teilt Unity mit, dass Sie Eingabeereignisse aus Ihrem Android Studio-Projekt verwenden können. Andernfalls stehlen Unity diese Ereignisse. Im folgenden Manifest wird davon ausgegangen, dass der Android Studio-Aktivitätsname "MainActivity" lautet.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.casualcoder.plugin" android:installLocation="auto">
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="19" />
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
<application android:icon="@drawable/app_icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="landscape">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="landscape">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
</application>
</manifest>
Ich schätze den Aufwand! Ich kenne die Ursache dieses Problems nicht, aber als Workaround habe ich festgestellt, dass mit IntelliJ (2017.1.4) anstelle von Android Studio die JAR-Datei geladen und wie erwartet verwendet werden konnte. Nicht ideal, aber es bringt mich zumindest zum Arbeiten. http://imgur.com/a/OBnWE – CasualCoder
Sie müssen Android Studio verwenden. Das ist die Zukunft für die Android-Entwicklung. Sogar Eclipse ist tot für Androiden. Wie für IntelliJ (2017.1.4), wer weiß, wie lange es unterstützt wird. – Programmer