Unity 打包 as工程
1.監聽安卓傳回鍵,關閉unity自身activity
void Update () {
if (Input.GetKeyUp(KeyCode.Escape))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("onBackPressed");
}
}
2.導入vuforia,制作好demo
3.修改包名
4.導出as 工程
As工程打包出aar
1.增加監聽傳回鍵的處理
中加入代碼
@Override
public void onBackPressed() {
runOnUiThread(new Runnable() {
@Override
public void run() {
mUnityPlayer.quit();
}
});
super.onBackPressed();
}
2.AndroidManifest中去掉intent-filter 标簽
防止apk出現兩個icon
3.Gradle中修改
apply plugin: 'com.android.application'
改為
apply plugin: 'com.android.library'
删除
applicationId
Build > Make Project ,Android Studio 會将項目打包成 AAR 檔案,并放入 build/outputs/aar 檔案夾中
As工程引用aar
1.把VuforiaWrapper.aar 與打包出來的aar放在這
2.點選File->new ->New Module->import .JAR/.AAR Package
把剛放入的兩個aar引入
3.AndroidManifest修改
告訴 merge 合并程式使用哪一個 Icon 和 Theme ,分别在 manifest 标簽和 application 标簽下添加代碼:
xmlns:tools="http://schemas.android.com/tools"
tools:replace="android:icon,android:theme"
4.Gradle修改
修改sdk版本号一緻,增加依賴aar(有幾個加幾個)
5.java代碼修改
增加按鈕響應,調起unity的activity
package com.example711.xx.test711_1;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.test710.luoyikun.UnityPlayerActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(MainActivity.this, UnityPlayerActivity.class);
startActivity(intent);
}
});
}
}
6.結果