这几天在网上自学了一下AndroidStudio的用法,也是遇到了不少坑、走了不少弯路。在参考了各种各样的资料以后,算是对这个有了一个初步的认识。故整理一下,方便自己以后看,也希望给其他人作为参考。
图比较多,尽量步骤详细一些
这里,我的U3D版本是2018.3.5,AndroidStudio版本分别为3.0和3.5.
关于JDK的安装与设置,网上应该有不少的教程。
2, 编译完成以后,可能下面会报错gradle失败的错误。关于这个可以参考
https://blog.csdn.net/qq_41976613/article/details/104394870。我是用最后的方法成功的。
这个就是成功后的界面。下面不报错。
4,选择工程视图,在mylibrary(model的名字)——libs添加一个文件
打开路径为C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes,找到classes.jar文件,复制到上面提到的libs目录中
如果还找不到的话,右键单击u3d图标,属性——打开文件夹所在位置,找到Data文件夹后,就可以通过链接找到了。
(按住Ctrl,拖到libs文件夹即可完成复制)
最后点击ok。成功的话下面就是展开的状态
5,返回安卓视图,找到com.company.myapplication(你的module名)
然后右键,新建个activity
然后就生成了一个MinActivity
package com.company.myapplication;
import android.os.Bundle;
import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//下面这行先注释掉
// setContentView(R.layout.activity_main);
}
public int add(int a,int b)
{
UnityPlayer.UnitySendMessage("Text","ChangeColor","");
return a+b;
}
}
2,找到Android视图下app——mainfests——AndroidMainfest.xml,文件,复制里面的代码
然后粘贴到mylibrary下mainfests——AndroidMainfest.xml
删去报错的地方,并且修改android:label的名字
这个是你打包后apk的名字
然后再在和/activity>之间添加 ,再注意在 MainActivity 改成自己的包名(这个网上有的改有的没改,这里按改的走)
1,返回project视图,找到mylibrary-debug.arr的文件
路径:MyApplication-mylibrary-build-outputs-arr-mylibrary-debug.arr
右键——Show in Explorer,打开文件路径
2,修改arr的后缀名为zpi或rar,打开。
然后再拖到压缩文件的目录下,并且删除
我这里通过Sbulime打开,稍微修改一下里面的数据
最后再改回成aar格式,拖到桌面
```csharp
using UnityEngine;
using UnityEngine.UI;
public class TmpText : MonoBehaviour
{
public Text tmpText;
AndroidJavaObject jo;
// Use this for initialization
void Start()
{
tmpText = GetComponent<Text>();
//获得位于com.unity3d.player包下的UnityPlayer类
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
//获得jc所代表的类下的currentActivity对象
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
//调用java中的方法,即3+5
tmpText.text = jo.Call<int>("add", 3, 5).ToString();
ChangeColor();
}
void ChangeColor()
{
tmpText.color = Color.red;//将Text的颜色改成红色
}
void Update()
{
}
}
3,创建一些u3d对象并且把脚本挂载在text组件上
4,最后打成apk(保存路径不能有中文)
ps:我在某些教程上看到了有关as签名的步骤,这里我没讲,可以参考这些文章
https://www.pianshen.com/article/2193961216/
----我是一只分割线------
踩了好几天的坑终于踩完了,累死了-.-,没人教的话只是靠网上查资料对我来说确实不容易。实际上不止是加法,四则运算都可以,不过应该还得重新build然后再重新生成apk,比较麻烦。这是很简单的一些调用,网上还有一些复杂的,实际上步骤都是差不多的,各位这个学会以后可以参考着其他的弄
3.0的步骤和这个大差不大,不过3.0没有用arr包
第一次写博客,算是给自己插个眼,也没打算长期更,主要是方便自己的一些查看什么的。如果觉得对你有帮助的话那就更好了
参考文章:https://blog.csdn.net/dengshunhao/article/details/80595420
https://blog.csdn.net/qq_37491893/article/details/79713374?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
(这个是3.0的步骤步骤很详细)
https://blog.csdn.net/ithinking110/article/details/103239125
https://blog.csdn.net/qq_41976613/article/details/91432304
(3.5的安装步骤)