Unity andriod插件入门

本文详细介绍了如何在Unity中开发Android平台的插件,包括安装ADT、创建Eclipse项目、构建Unity工程以及解决常见问题等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



一、安装ADT
如果从事Windows开发这个行业的人角度来说,安装个开发工具,本来这个应当是非常简单的事情。但是到了手机开发,嘿嘿,首先是下载ADT,天朝网络,搜索谷歌是搜索不到的;想方设法到其他地方去下载很多过时的,安装完了也是不能用的,运行SDK Manager.exe,你就知道天朝网络的厉害了,谷歌肯定是知道有网络不通的地方,但是就是要你难过,非要通过网络来升级,听说谷歌退出中国了,我想谷歌最好去死掉算了。总之,安装安卓开发工具是个消耗耐心和时间的体力活,说起来就满眼是泪。

二、启动Eclipe,制作一个工程.
图1.

图2.

其中,theme,选 :None,这样做出来的插件会多出一个appcompat_v7,如果选择Minnimum Required SDK是API14以上,就不会有这个累赘。

图3.


因为是要制作插件,选择”Create Project in Workspace”,不在这个选择,后面改也可以。

图4.


在后面的选is Libray也可以,但是后面选的,生成的jar文件要明显更大些。
后面一路默认。

图5:


按Project->build All,选定appcompat_v7,build All再Build Project,再选定plugin工程,Build Project, 应当是可以生成plugin.jar,如果不可以生成,应当是开发环境有问题,继续回头折腾,不行的话,买VPN运行SDK Manager.exe升级。
如果不选定appcompat,Build几把,直接选plugin去Build的话,将出现:
坑1:build project:就会不能通过编译,出现:
C:\Users\gxp\workspace\cj\res\values-v14\styles.xml:8: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.

图6:


选定plugin,右键菜单,propreties -> Java Build Path -> Libratries -> Add External JARS...,选定:
C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\development\bin\class.jar

图7:,编辑源代码:

package com.example.plugin;
import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
 }
 public int Max(int a,int b)
 {
  if(a>b)return a;
  return b;
 }
}



二,建立Unity工程:
图7:建立plugin工程

图8:增加调用函数:


新建一个空的GameObject,插入1个Script.cs,添加如下代码
    void OnGUI()
    {
        Rect rct = new Rect(0, 0, 200, 200);

        if (GUI.Button(rct, "Test"))
        {
            Debug.Log("This Test ..........");
#if UNITY_ANDROID
            AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject activity = jc.GetStatic<AndroidJavaObject>("currentActivity");
            int res = activity.Call<int>("Max", new object[] { 10, 20 });
            Debug.Log("Max" + res);
#endif
        }
  }
  
图9:

在unity的asset目录下建立Plugings->Android目录,将上面build产生的plugin.jar和android的plugin工程的目录下AndroidManifest.xml和res目录,放到这个目录下,libs目录可以不放。


图10:

修改AndroidManifest.xml:
重点是修改这句,就是对于andorid的包和MainActivity名称。
 android:name="com.example.plugin.MainActivity"



图11:

坑2:unity编译失败。如果一切按照默认,最后就是这么个结果。这是所谓的资源编译失败,网上一搜索大把这种。最简单的解决办法是图2时Minnimum Required SDK是API14以上,或者将API14编译后的res拷贝到Unity的plugins->andorid目录下也可以。


图12:


运行unity,按钮,可以看到输出Max 值是20,这就大工告成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值