Unity3DUnity 中使用 C# 调用 Java ① ( Android Studio 模块准备 | 编译 Android 模块拿到字节码文件 | 拷贝字节码到 Unity 编辑器 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3DUnity 中使用 C# 调用 Java ① ( Android Studio 模块准备 | 编译 Android 模块拿到字节码文件 | 拷贝字节码到 Unity 编辑器 )相关的知识,希望对你有一定的参考价值。

文章目录

【Unity3D】Android 打包 ④ ( Android 工程打包 | Unity 中导出安卓工程 | Android Studio 打开 Unity 导出的 Android 工程 ) 博客中将 Unity 项目导出为了 android 项目 , 并在 Android Studio 中编译并运行了该项目 ;

使用的 C# 脚本 , 是在 【Unity3D】Unity 游戏画面帧更新 ( 游戏物体 GameObject 移动 | 借助 Time.deltaTime 进行匀速运动 ) 系列博客中编写的脚本 ;





一、 Android Studio 模块准备



首先要在 Unity 导出的 Android 工程中 , 创建一个 Android 模块 , 用于开发 Android 相关功能 ;

这是在上一篇博客导出 Android 工程 ,


1、 创建 Android 模块


选择 " 菜单栏 | File | New | New Module… " 选项 ,

包名为 kim.hsl.mylibrary 保持默认即可 ;


2、 定义测试类


在该 Android Library 模块中 , 定义如下类 , 作为测试类 ;

package kim.hsl.mylibrary;

import android.util.Log;

public class Student 
    public static final String TAG = "Student";
    public String name;
    public int age;

    public String getName() 
        Log.i(TAG, "getName");
        return name;
    

    public void setName(String name) 
        Log.i(TAG, "setName");
        this.name = name;
    

    public int getAge() 
        Log.i(TAG, "getAge");
        return age;
    

    public void setAge(int age) 
        Log.i(TAG, "setAge");
        this.age = age;
    


3、 添加依赖


在入口应用中 , 需要依赖该类 , 在 build.gradle 构建脚本中 , 配置如下依赖库 ;

dependencies 
    implementation project(':unityLibrary')
    implementation project(':mylibrary')
    

4、 编译 Android 模块拿到字节码文件


在 Android Studio 中 选择 " 菜单栏 | Build | Make Project " 选项 , 编译该类 ;


在 该依赖库模块 下的 build 目录中 , 找到打包的 jar 包 ; jar 包路径为:

工程根目录\\mylibrary\\build\\intermediates\\compile_library_classes_jar\\debug\\classes.jar


5、 拷贝字节码到 Unity 编辑器


将编译后的 jar 包拷贝到 Unity 编辑器中 , 在 Assets 目录下创建 Plugin/Android 目录 , 将 classes.jar 放在该目录中 ;

以上是关于Unity3DUnity 中使用 C# 调用 Java ① ( Android Studio 模块准备 | 编译 Android 模块拿到字节码文件 | 拷贝字节码到 Unity 编辑器 )的主要内容,如果未能解决你的问题,请参考以下文章

Unity3DUnity 中使用 C# 调用 Java ② ( C# 调用 Java 的相关方法介绍 | 调用 Java 方法 | 获取 Java 字段 | 设置 Java 字段 )

Unity3DUnity 中使用 C# 调用 Java ① ( Android Studio 模块准备 | 编译 Android 模块拿到字节码文件 | 拷贝字节码到 Unity 编辑器 )

Unity3DUnity 脚本 ① ( 创建 C# 脚本 | Visual Studio 2019 中打开 C# 脚本 | 编译 C# 脚本 | 挂载 C# 脚本到游戏物体 | 运行脚本 )

Unity3DUnity 脚本 ④ ( 游戏物体 GameObject 的坐标 | 修改 游戏物体 GameObject 的本地坐标 )

Unity3DUnity 脚本 ② ( Visual Studio 2019 中的 Unity 编译环境配置 | Unity 编辑器关联外部 C# 脚本编辑器 Visual Studio )

Unity3DUnity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )