Java 如何在原生android中嵌入多个unity模块?
我遇到了一个问题。这已经有人问过了。但这个问题没有答案 根据这个问题的标题。如何在本机android项目中集成多个unity模块或库。我遵循了很多程序。但我没有找到解决这个问题的办法。根据指示,我必须在我的项目中集成unity库。我已经完成了这两个单位的图书馆。对于第二个库,我必须更改包和类名。并使其发挥作用。在完成所有这些更改之后,我的项目正在成功构建,并且正在编译,没有任何错误。当我点击加载第一个游戏时,它就会加载第一个游戏。但是当我点击加载第二个游戏时,它也只加载第一个游戏 下面是我的android studio的截图 我将向您介绍更多关于这一点的描述 *在Java 如何在原生android中嵌入多个unity模块?,java,c#,android,unity3d,Java,C#,Android,Unity3d,我遇到了一个问题。这已经有人问过了。但这个问题没有答案 根据这个问题的标题。如何在本机android项目中集成多个unity模块或库。我遵循了很多程序。但我没有找到解决这个问题的办法。根据指示,我必须在我的项目中集成unity库。我已经完成了这两个单位的图书馆。对于第二个库,我必须更改包和类名。并使其发挥作用。在完成所有这些更改之后,我的项目正在成功构建,并且正在编译,没有任何错误。当我点击加载第一个游戏时,它就会加载第一个游戏。但是当我点击加载第二个游戏时,它也只加载第一个游戏 下面是我的a
应用程序模块中
有2个活动
,分别命名为main活动
和GameHolderActivity
。下面是MainActivity.java
的代码
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.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 android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.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)
insideandroid{}
中又添加了一个东西
packagingOptions {
pickFirst '**/*.so'
}
我尝试了下面的教程,但是在多个游戏中都没有得到任何积极的回应
所以请给我提供解决方案,这样我就可以在我的原生android应用程序上打开我的两款Unity游戏。我将非常感谢您的帮助。开发者。如果你有这个问题。然后我想告诉你们,Unity Technology不支持这一点 总之,
您不能在本机android应用程序中使用多个unityLibrary。
那么我们如何实现我们的目标呢?
关于这一点,我已经咨询了
专家
,我也进行了研究,并与联合支持团队
进行了沟通。为了实现我们的目标,我们必须为所有游戏
制作一个单一库。这意味着,我们必须将所有游戏绑定到一个项目中
。然后,我们将从android
端向Unity
端发送一些标识符。这样我们就可以确定我们要玩的游戏。然后,在验证之后,我们将从unity
端加载特定场景或游戏。这样,我们可以根据您的要求玩多种游戏。您找到解决方案了吗?请share@KenZira请阅读答案。我已经发帖了。