android studio 打jar包和unity通信
来源:互联网 发布:上海迈普数据 编辑:程序博客网 时间:2024/06/05 19:19
一、新建Android studio工程
创建好包名,然后就能下一步了。如下图:
二、新建Module,打jar包的话必须要在Module中进行,创建方式如下图:
2、选择Android Library
3、设定好包名这里我设置和功能名字一样。如果不一样的话,这里包名要和unity中设计包名一致。
三、在新建module中引入jar我使用了万普广告,作为一个接入第三方sdk测试。
1、引入jar,将广告sdk的jar和uniyt_class.jar(这个在unity安装目录中)将他们拷贝到unityandroid2(由于功能已经叫这个名字了,所以这里后缀多个2)libs文件夹下
2、引入jar具体步骤参考下图:
四、编写Android代码
1、在unityandroid2\src\main\java下写MainActivity.java
public class MainActivity extends UnityPlayerActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AppConnect.getInstance("e6dcdc8627afd949b25ad54183a5aea6","APP_PID",this); AppConnect.getInstance(this).initPopAd(this); } public void showAd(){ runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this , "show ad" , Toast.LENGTH_LONG).show(); AppConnect.getInstance(MainActivity.this).showPopAd(MainActivity.this); } } ); }}
五、导出jar
1、在unityandroid2\build.gradle中添加
task deleteOldJar(type: Delete) { delete 'release/AndroidPlugin.jar'}task exportJar(type: Copy) { from('build/intermediates/bundles/release/') into('release/') include('classes.jar') rename('classes.jar', 'AndroidPlugin.jar')}exportJar.dependsOn(deleteOldJar, build)然后在Terminal中执行命令gradlew exportJar 如果刚装Android studio需要下载一些组件时间会长些,执行完成后,就会在unityandroid2\release中得到jar.
六、导入unity
1、在Assets文件夹下新建Plugins\Android目录,在Android目录下,新建bin文件放引用的jar,包括刚刚导出jar和广告的jar,不包含unity_class.jar。
2、新建AndroidManifest.xml文件内容如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:allowBackup="true">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:allowBackup="true">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
3、如果引用到res文件夹下的资源把资源放到Android/res目录中即可。
七、编写unity脚本
新建test.cs脚本
public class test : MonoBehaviour {
// Use this for initialization
void Start () {
AndroidJavaClass unity = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject> ("currentActivity");
currentActivity.Call ("showAd"); //调用java中写的方法
}
// Update is called once per frame
void Update () {
}
}
// Use this for initialization
void Start () {
AndroidJavaClass unity = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject> ("currentActivity");
currentActivity.Call ("showAd"); //调用java中写的方法
}
// Update is called once per frame
void Update () {
}
}
八、编译apk
1、像正常打apk一样,不过有一点要注意,此时Bundle Identifier与包名要一致。
如果还有问题加我群一起进步: 115136489 点击打开链接
1 0
- android studio 打jar包和unity通信
- Android Studio 打Jar包和混淆的Jar包
- Android studio 打jar包
- Android studio 打jar包
- Android Studio 打jar包
- Android Studio 打JAR包
- Android Studio 打JAR包
- android studio 打jar包
- Android Studio 打JAR包
- Android studio打jar包
- Android Studio 打jar包
- Android Studio打JAR包
- Android studio打jar包
- android studio:打jar包、apk包
- Android studio 代码混淆和打jar包
- Android Studio 打Jar包和混淆代码。
- Android Studio 如何打JAR包
- Android Studio中如何打JAR包
- Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数
- Linux 命令输入快捷键
- IDEA 配置并运行tomcat
- Android热修复技术选型——三大流派解析
- <转>Kafka+Spark Streaming+Redis实时计算整合实践
- android studio 打jar包和unity通信
- LBP(局部二进制模式)
- CodeForces 630B Moore's Law(摩尔定律,快速幂)
- js 判断是移动端浏览器
- 去掉导航栏或者tabbar上的横线
- Android LayoutInflater深度解析 给你带来全新的认识
- 齐次线性方程组的解、SVD、最小二乘法
- CSS格式化排版
- Jquery+Ajax+Mysql 前台校验注册登陆