有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在本机安卓中嵌入多个unity模块?

我遇到了一个问题。这个QUESTION已经有人问过了。但这个问题没有答案

Problem Related Video

根据这个问题的标题。如何在本机安卓项目中集成多个unity模块或库。我遵循了很多程序。但我没有找到解决这个问题的办法。根据UNITY TECHNOLOGY指令,我必须在我的项目中集成unity库。我已经完成了这两个单位的图书馆。对于第二个库,我必须更改包和类名。并使其发挥作用。在完成所有这些更改之后,我的项目正在成功构建,并且正在编译,没有任何错误。当我点击加载第一个游戏时,它就会加载第一个游戏。但是当我点击加载第二个游戏时,它也只加载第一个游戏

下面是我的安卓 studio的截图

enter image description here

I am sharing you the little more description about this.

*在app module内有2Activity,命名为MainActivityGameHolderActivity。下面是MainActivity.java的代码

import 安卓x.appcompat.app.AppCompatActivity;
import 安卓.content.Intent;
import 安卓.os.Bundle;
import 安卓.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.btn1Click).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, GameHolderActivity.class);
            intent.putExtra("game", 1);
            startActivity(intent);
        }
    });
    findViewById(R.id.btn2Click).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, GameHolderActivity.class);
            intent.putExtra("game", 2);
            startActivity(intent);
        }
    });
}
}

在那之后,现在我要提到GameHolderActivity.java的代码

import 安卓.app.Activity;
import 安卓.content.Intent;
import 安卓.os.Bundle;
import 安卓.util.Log;
//FIRST GAME ACTIVITY
import com.unity3d.player.UnityPlayerActivity;
//SECOND GAME ACTIVITY
import com.game.player.GamePlayerActivity;
public class GameHolderActivity extends Activity {
private String TAG = "GAME_HOLDER_ACTIVITY";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first_game);

    if (getIntent().hasExtra("game") && getIntent().getIntExtra("game", 0) == 1) {
        Log.d(TAG, "FIRST_GAME");
        Intent intent = new Intent(GameHolderActivity.this, UnityPlayerActivity.class);
        startActivity(intent);
    } else {
        Log.d(TAG, "SECOND_GAME");
        Intent intent = new Intent(GameHolderActivity.this, GamePlayerActivity.class);
        startActivity(intent);
    }
}
}

在整个过程中,我只更改了一个库包的名称。这样我就可以确定我的第二个游戏活动

我在我的build.gradle(Module:app)inside 安卓 {}中又添加了一个东西

packagingOptions {
    pickFirst '**/*.so'
}

I have tried the following tutorial for this but did not get any positive response for multiple games.

所以请给我提供解决方案,这样我就可以在我的原生安卓应用程序上打开我的两款Unity游戏。我将非常感谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    开发者。如果你有这个问题。那么我想告诉你,Unity Technology不支持这一点

    总之,您不能在本地android应用程序中使用多个unityLibrary

    那么我们如何实现我们的目标呢

    关于这一点,我已经咨询了专家,我也做了研究,并与Unity支持团队进行了沟通。为了实现我们的目标,我们必须为所有游戏制作一个单一的库。这意味着我们必须将所有游戏绑定到一个项目中。之后,我们将从android端向Unity端发送一些标识符。这样我们就可以确定我们要玩的游戏。然后在验证之后,我们将从unity端加载特定场景或游戏。这样我们可以根据您的要求玩多种游戏