gpt4 book ai didi

java - 如何在原生 android 中嵌入多个统一模块?

转载 作者:行者123 更新时间:2023-12-04 11:36:13 26 4
gpt4 key购买 nike

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

Problem Related Video

根据这个问题的标题。如何在原生 android 项目中集成多个统一模块或库。我遵循了很多程序。但我没有得到这个问题的解决方案。根据 UNITY TECHNOLOGY指令我必须将统一库集成到我的项目中。我已经为两个 unityLibrary 完成了这个。对于第二个库,我必须更改包名和类名。并让它发挥作用。完成所有这些更改后,我的项目构建成功,并且编译没有任何错误。当我点击加载第一个游戏时,它正在加载第一个游戏。但是当我点击加载第二个游戏时,它也只加载了第一个游戏。

下面是我的 android studio 的截图。

enter image description here

I am sharing you the little more description about this.



*内 app module有 2 Activity , 命名为 MainActivityGameHolderActivity .下面是 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);
}
}
}

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

我在我的 build.gradle(Module:app) 中又添加了一件东西里面 android {} .
packagingOptions {
pickFirst '**/*.so'
}

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


  • Reference 1
  • Reference 2
  • Reference 3
  • Reference 4

  • 所以请为我提供解决方案,以便我可以在我的原生 android 应用程序上打开我的两个 Unity 游戏。我将非常感谢您的帮助。

    最佳答案

    开发商。如果您遇到这个问题的问题。那我要告诉大家,Unity Technology 不支持这个。
    所以总而言之,你不能在你的 Native android 应用程序中使用多个 unityLibrary。
    那么我们如何才能实现我们的目标呢?
    对此,我咨询了专家,也进行了研究,并与 Unity 支持团队进行了沟通。为了实现我们的目标,我们必须为所有游戏创建一个库。这意味着我们必须将所有游戏绑定(bind)到一个项目中。之后我们会从 android 端向 Unity 端发送一些标识符。这样我们就可以确定,我们必须玩哪个游戏。然后在验证之后,从统一方面我们将加载那个特定的场景或游戏。像这样,我们可以根据您的要求玩多个游戏。

    关于java - 如何在原生 android 中嵌入多个统一模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61999970/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com