AndroidStudio打包aar文件
unity实际项目中,unity会调用android里的原生代码,Unity能够调用.jar和.aar。项目中使用的是调用.aar文件。
一 在androidStudio上创建一个新的android工程。
选择相应的androidSDK创建一个新的android工程。
二 添加Unity的class.jar
- 把Unity安装路径下的Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\classes.jar文件复制粘贴到android工程中的libs文件夹下。
- 在androidStudio中右击工程目录,点击Open Module Settings,添加classes.jar依赖
三 添加unity调用的android代码
在MainActivity中修改添加代码
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void test(String str)
{
Log.i("Unity", "----------------");
}
}
四 修改android工程中的build.gradle文件
- apply plugin: ‘com.android.application’ 修改为 apply plugin: ‘com.android.library’
- 删除 applicationId “com.cn.Test”
五 修改android工程中的AndroidManifest.xml文件
- 因为.aar文件将不带自定义的样式,最终打包会出现样式相关的报错。
删掉下面这行
android:theme="@style/AppTheme"
同时删掉res\values\styles.xml文件
- 需要在主activity中添加添加下面一句
不然在编译apk会报下面的错误
Unable to find unity activity in manifest. You need to make sure orientation attribute is set to fullSensor manually.
- 可删掉android工程中的res文件下的mipmap-mdpi、mipmap-xdpi、mipmap-xxdpi、mipmap-xxxdpi文件夹。
六 大功告成
- 点击Build apk,生成aar文件
- 用Bandizip打开生成的.aar文件,删掉不libs文件夹下的classes.jar文件,不然在unity编译apk的时候,会因为有重复的classes.jar文件导致编译失败。