• Android Android Studio 如何导出 Jar 给 Unity 使用


    大致步骤如下:
    1.创建新的 Android Studio 工程
    2.为此 Android Studio 工程创建 Android Library 类库(也就是一个 Module)(后面就是用它生成 jar)
    3.生成 Jar
    4.将 jar 导入 Unity 工程中的 Assets/Plugins/Android/
    5.使用 AndroidJavaObject.Call 等方式调用

    创建新的 Android Studio 工程#

    1. 设置好 名称 、 路径 、 包名
    这里的 Package name 只是这个 Android Studio 工程的包名,而我们需要的并不是这个工程,我们后面会在这个工程内新建一个 Android Library 类库,这个类库才是我们要导出 Jar 的对象。所以,这个 Android Studio 工程的 Application name 、Company Domain 、Package name 这三个参数可以随意填写,并不需要与正式工程相同。

    2. 选择 SDK 版本
    这里的意思是选择一个可兼容的最低的 Android 系统版本。自行选择,随意。

    3. 选择 Empty Activity
    直接选择空的 Activity 就可以了,因为这个是本工程的 Activity,并不是我们要导出的 Jar 的 Activity。

    4. 给此 Activity 定义参数
    同样,因为这个是本工程的 Activity,并不是我们要导出的 Jar 的 Activity。所以随意填写,和要导出的 Jar 无关。

    5. 新建 Module

    6. 选择 Android Library

    7. 输入 Module 的参数
    这里的参数就是要导出 jar 的 Android Library 类库参数。Package name 与正式工程一致。 Application/Library name 就是就填你要导出的 jar 插件的名称。Module name 自动填写就不用管了。

    8.找到 Unity 中的 classes.jar 导入到这个 Module 的 libs 中。classes.jar 在安装路径的相对路径如下:
    EditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseClassesclasses.jar
    (Project 视图下可以看到 libs 文件夹)

    9.把 classes.jar 加入依赖。点击 File->Project Structure

    Modules 选择自己新建的 Android Library,中间栏点 Dependencies 标签,然后点击右侧加号+,选择 File Dependency,然后找到自己拷贝进来的在 libs 目录下的 classes.jar 点击OK

    9.给 Module 添加 Activity Class

    给新建的 Class 命名。输入 Name 然后点击 OK。


    package com.example.myjar;
    
    import android.content.Intent;
    import android.os.Bundle;
    
    import com.unity3d.player.UnityPlayerActivity;
    
    public class MyActivity  extends UnityPlayerActivity {
        @Override
        protected void onCreate(Bundle bundle) {
            super.onCreate(bundle);
        }
    
        public void ShareText(String message, String body) {
            Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
            sharingIntent.setType("text/plain");
            sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, message);
            sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
            startActivity(Intent.createChooser(sharingIntent, "Share via"));
        }
    
    }
    


    作者:耳朵里有只风
    链接:https://www.jianshu.com/p/8256c0da444a
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    第一行的 "com.unity3d.player.UnityPlayer" 是需要调用的接口所在的 Activity 所在的包名,如果是 unity 主 Activity ,就可以直接使用 "com.unity3d.player.UnityPlayer",如果是其他插件包,就使用那个包的包名。

    16. 效果



    //https://www.jianshu.com/p/8256c0da444a
    https://www.cnblogs.com/Jason-c/p/6743385.html
    https://www.jianshu.com/p/86b275da600e
    https://blog.csdn.net/hnzmdlhc/article/details/89296388
  • 相关阅读:
    java中compareTo()用法详解
    random详解
    http协议介绍
    各种Web渗透测试平台
    提升黑客技能的十大网站
    .htaccess文件得用途
    XSS平台搭建
    session攻击(会话劫持+固定)与防御
    伪静态的原理以及应用
    Nessus激活码获取
  • 原文地址:https://www.cnblogs.com/YZFHKMS-X/p/11853937.html
Copyright © 2020-2023  润新知