查看: 3332|回复: 2
打印 上一主题 下一主题

[其他] eclipse生成jar包并导入unity中无需继承unityplayer进行调用

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2016-2-28 22:54:14 |只看该作者 |倒序浏览
首先用eclipse建立工程,简单的建立一个测试的class
  1. package com.example.testsuifeng;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.Menu;
  5. import android.view.WindowManager;
  6. import android.view.MenuItem;


  7. public  class Suifeng  {
  8.         
  9. private Activity mActivity;
  10. public WindowManager mWindowManager;
  11. public  int addTwo(int a)
  12. {
  13.         return a;
  14.         }
复制代码

右键工程选择属性,设置工程的以library方式输出,点击apply 。运行得到导出的jar包后,导入到unity工程里,将

jar包放在Plugins->Android文件夹下
写上下面调用代码
  1. private AndroidJavaObject javaObj = null;
  2.         private AndroidJavaObject GetJavaObject()
  3.         {
  4.                 if (javaObj == null)
  5.                 {
  6.             AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
  7.             AndroidJavaObject obj = jc.GetStatic<AndroidJavaObject>("currentActivity");
  8.          
  9.             javaObj = new AndroidJavaObject("com.example.testsuifeng.Suifeng");
  10.         }
  11.                
  12.                 return javaObj;
  13.         }
复制代码
然后自己在GUI里获取GetJavaObject ,然后在调用java里的程序。
ceshi = GetJavaObject.Call<int>("addTwo", 5);
运行程序  你就会得到你想要的结果了
之前一直以为一定要继承unityplayer才可以,今天才搞明白,终于迈过了这个坑。
还有之前一直对AndroidJavaClass与AndroidJavaObject不太理解,现在才弄清楚
[url=]AndroidJavaClass[/url]是將.jar裡,所定義的class實體掉出來讓你使用,呼叫該class所擁有的static functions
[url=]AndroidJavaObject[/url]是將.jar裡,所定義的class實體化成物件後,丟出來讓你使用。這時就可以呼叫這class一般的member functions



分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

xkjoy    

13

主题

7

听众

3995

积分

中级设计师

Rank: 5Rank: 5

纳金币
55
精华
2

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2016-3-18 00:41:01 |只看该作者
楼主,这样的话是不是retur new AndroidJavaObject("com.example.testsuifeng.Suifeng");即可看了你的代码,发现obj并没有用到,其实就是一句就行?我有空测试一下
回复

使用道具 举报

3

主题

1

听众

41

积分

设计初学者

Rank: 1

纳金币
12
精华
0
板凳
发表于 2016-7-10 13:22:33 |只看该作者
好像行不通啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-24 15:59 , Processed in 0.266334 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部