У меня есть проект hello world. У меня есть класс StartActivity, который расширяется от AppCompatActivity. Я создал библиотеку .aar и поместил ее в папку плагинов единства. Идея состоит в том, чтобы запустить действие из приложения unity android, поэтому я начинаю действие из unity. Когда я пытаюсь начать свою деятельность из единства, выдается ошибка о том, что класс StartActivity не найден. Когда я расширяю тот же класс из класса Activity или UnityPlayerActivity, он работает. Но мне нужны функции класса AppCompatActivity, поэтому я не могу перейти к другим классам. Это мой файл манифеста
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sitagy.helloworld">
<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="com.example.sitagy.helloworld.StartUpActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name = "com.example.sitagy.helloworld.StartActivity"></activity>
<activity android:name = "com.example.sitagy.helloworld.MainActivity"></activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
android:label="@string/app_name">
<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
</application>
</manifest>
Ниже приведен мой java класс
public class StartActivity extends AppCompatActivity {
private String TAG = "Plug.StartActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("SY : on create start neew activity");
}
public static void Call(Activity activity)
{
// Creating an intent with the current activity and the activity we wish to start
Intent myIntent = new Intent(activity, StartActivity.class);
activity.startActivity(myIntent);
}
public static void CallStatic()
{
System.out.println("CallStatic")
}
Ниже приведен мой c# код
void Start()
{
var androidJC = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var jo = androidJC.GetStatic<AndroidJavaObject>("currentActivity");
var jc = new AndroidJavaClass("com.example.sitagy.helloworld.StartActivity");
jc.CallStatic("Call", jo);
}
Если я расширю StartActivity - просто обычная активность, она работает. Не уверен, что делаю что-то не так. У меня есть библиотеки AppCompat в папке плагинов введите описание изображения здесь
Это ошибка журнала adb
--------- начало сбоя 08 -01 17: 43: 04.766 26868 26868 E AndroidRuntime: FATAL EXCEPTION: main 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: Процесс: com.captivereality.javaunityplugin, PID: 26868 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: java .lang.NoClassDefFoundError: Ошибка разрешения: Lcom / example / sitagy / helloworld / StartActivity; 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at com.example.sitagy.helloworld.StartUpActivity.onCreate (StartUpActivity. java: 17) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app.Activity.performCreate (Activity. java: 7802) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app.Activity.performCreate (Activity. java: 7791) 08- 01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app.Instrumentation.callActivityOnCreate (Instrumentation. java: 1306) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app. ActivityThread.performLaunchActivity (ActivityThread. java: 3245) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3409) 08-01 17:43 : 04.766 26868 26868 E AndroidRuntime: на android .app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem. java: 83) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: на android .app.servertransaction. TransactionExecutor.executeCallbacks (Transactio nExecutor. java: 135) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. java: 95) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 2016) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .os.Handler.dispatchMessage ( Обработчик. java: 107) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at android .os.Looper.l oop (Looper. java: 214) 08-01 17:43: 04.766 26868 26868 E AndroidRuntime: at android .app.ActivityThread.main (ActivityThread. java: 7356) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at java .lang.reflect.Method.invoke (Собственный метод) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 492) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: at com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 930) 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: Caus редактор: java .lang.ClassNotFoundException: com.example.sitagy.helloworld.StartActivity 08-01 17: 43: 04.766 26868 26868 E AndroidRuntime: ... 16 еще 08-01 17: 43: 04.769 910 26893 I DropBoxManagerService : add tag = data_app_cra sh isTagEnabled = true flags = 0x2 08-01 17: 43: 04.770 910 2871 W ActivityTaskManager: Принудительно завершить действие com.captivereality.javaunityplugin / com.example.sitagy.helloworld.StartUpActivity
Любая помощь была бы замечательной !! Заранее спасибо всем