



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】Unity調(diào)用Android類方法
1.
添加Unity的classes.jar文件創(chuàng)建一個Android工程AndroidUnityDemo。由于Unity的版本不同,直接在Unity安裝包文件夾里面搜索classes.jar文件,如果有多個classes.jar文件,一般選擇的是mono/Release文件夾下的classes.jar文件。將classes.jar文件放在app文件下的libs文件夾下。
然后,更新一下。
2.
編寫Android類打開MainActivity.java類,讓MainActivity類繼承于UnityPlayerActivity類,如果提示類不存在,說明unity的classe.jar文件沒有加載進來。刪除setContentView(R.layout.activity_main);MainActivity.java
1
package
com.xxxxxx.androidunitydemo;
2
3
import
android.os.Bundle;
4
import
android.util.Log;
5
6
import
com.unity3d.player.UnityPlayerActivity;
7
public
class
MainActivity
extends
UnityPlayerActivity
{
8
@Override
9
protected
void
onCreate(Bundle
savedInstanceState)
{10
super.onCreate(savedInstanceState);11
}12
public
void
test1()13
{14
Log.v("Android_Unity",
"no
return
value
and
no
parameter");15
}16
public
String
test2()17
{18
Log.v("Android_Unity","have
return
value
and
no
parameter");19
return
"Hello
Unity";20
}21
public
void
test3(String
par)22
{23
Log.v("Android_Unity","no
return
value
and
have
parameter");24
Log.v("Android_Unity",par);25
}26
public
String
test4(String
par)27
{28
Log.v("Android_Unity","have
return
value
and
have
parameter");29
Log.v("Android_Unity",par);30
return
"Hello
Unity";31
}32
public
static
void
test5()33
{34
Log.v("Android_Unity",
"static
function");35
}36
}3.
打包成arr文件打開build.gradle文件,將apply
plugin:
‘com.android.application’修改為apply
plugin:
‘com.android.library’,將applicationId
‘com.XXXXXX.androidunitydemo’刪除。Build.gradle
1
apply
plugin:
'com.android.library'
2
android
{
3
compileSdkVersion
23
4
buildToolsVersion
"23.0.3"
5
defaultConfig
{
6
minSdkVersion
15
7
targetSdkVersion
23
8
versionCode
1
9
versionName
"1.0"10
}11
buildTypes
{12
release
{13
minifyEnabled
false14
proguardFiles
getDefaultProguardFile('proguard-android.txt'),
''15
}16
}17
}18
dependencies
{19
compile
fileTree(dir:
'libs',
include:
['*.jar'])20
testCompile
'junit:junit:4.12'21
compile
'com.android.support:appcompat-v7:23.4.0'22
}如果不用在Unity中添加Android的res文件的話,將AndroidManifest文件中使用res的部分刪除。修改AndroidManifest.xml文件,加入android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">與<meta-dataandroid:name="unityplayer.UnityActivity"android:value="true"/>AndriodManifest.xml<?xml
version="1.0"
encoding="utf-8"?><manifest
xmlns:android="/apk/res/android"
package="com.xxxxxx.androidunitydemo"
android:versionCode="1"
android:versionName="1.0"
>
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="23"
/>
<application
android:allowBackup="true"
android:label="AndroidUnityDemo"
android:supportsRtl="true"
>
<activity
android:name="com.xxxxxx.androidunitydemo.MainActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action
android:name="ent.action.MAIN"
/>
<category
android:name="ent.category.LAUNCHER"
/>
</intent-filter>
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true"
/>
</activity>
</application></manifest>打包文件,點擊Build->Build
Apk,點擊Show
in
Explorer,打開arr文件所在文件夾,點擊outputs->arr,就可以看到app-debug.arr壓縮包。4.
創(chuàng)建一個簡單場景創(chuàng)建一個Unity項目名為UnityAndroidDemo。點擊File->BuildSetting,點擊Android,在點擊Switchplatform按鈕,進行平臺轉(zhuǎn)換,點擊PlayerSettings,在Inspector會看到具體內(nèi)容,點擊OtherSettings,找到Identification中的BundleIdentifier,將其內(nèi)容修改成Adnroid的packageName,也就是AndroidManifext.xml文件中package的值。點擊File->SaveScene,保存場景。5.
將AndroidManifest.xml與arr文件加入到Unity項目中在Project里創(chuàng)建文件夾Plugins,在文件夾Plugins文件夾里創(chuàng)建文件夾Android,將app-debug.arr文件解壓,將其中的classes.jar文件與AndroidManifest.xml文件取出來放入Unity的Android文件夾下。
6.
調(diào)用Android類打開MainCamera,點擊AddComponent->NewScript,創(chuàng)建一個c#文件,點擊CreateandAdd。
打開NewBehaviourScript.cs文件,進行編寫。
1
using
UnityEngine;
2
using
System.Collections;
3
4
public
class
NewBehaviourScript
:
MonoBehaviour
{
5
//
Use
this
for
initialization
6
void
Start
()
{
7
}
8
//
Update
is
called
once
per
frame
9
void
Update
()
{10
if
(Input.GetKey(KeyCode.Escape))11
Application.Quit();12
}13
void
OnGUI()14
{15
if
(GUILayout.Button("NoReturnValueAndNoParameter"))16
{17
AndroidJavaClass
jc
=
new
AndroidJavaClass("com.unity3d.player.UnityPlayer");18
AndroidJavaObject
jo
=
jc.GetStatic<AndroidJavaObject>("currentActivity");19
jo.Call("test1");20
}21
if
(GUILayout.Button("HaveReturnValueAndNoParameter"))22
{23
AndroidJavaClass
jc
=
new
AndroidJavaClass("com.unity3d.player.UnityPlayer");24
AndroidJavaObject
jo
=
jc.GetStatic<AndroidJavaObject>("currentActivity");25
string
returnValue
=
jo.Call<string>("test2");26
Debug.Log("Have
Return
Value
And
No
Parameter
Return
Value
:
"
+
returnValue);27
}28
if
(GUILayout.Button("NoReturnValueAndHaveParameter"))29
{30
AndroidJavaClass
jc
=
new
AndroidJavaClass("com.unity3d.player.UnityPlayer");31
AndroidJavaObject
jo
=
jc.GetStatic<AndroidJavaObject>("currentActivity");32
jo.Call("test3","Hello
Android");33
}34
if
(GUILayout.Button("HaveReturnValueAndHaveParameter"))35
{36
AndroidJavaClass
jc
=
new
AndroidJa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公用胡同安裝大門協(xié)議書
- 其他形勢就業(yè)解約協(xié)議書
- 合同工資補貼補充協(xié)議書
- 醫(yī)院藥品郵購責(zé)任協(xié)議書
- 廠家簽訂安全環(huán)保協(xié)議書
- 快手小店商家合作協(xié)議書
- 無錫坡道土方外運協(xié)議書
- 兒童托管合同終止協(xié)議書
- 政府征收房屋補償協(xié)議書
- 公園設(shè)施維修委托協(xié)議書
- 2025年醫(yī)療器械全國總策劃代理協(xié)議書
- 《數(shù)據(jù)網(wǎng)組建與維護》課件-8.1任務(wù)1 WLAN基本配置
- 9.2 法律保障生活課件(共13張)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 《裝備測試性工作要求GJB 2547B-2024》知識培訓(xùn)
- 形勢與政策(2025春)超星爾雅學(xué)習(xí)通答案滿分章節(jié)測試
- 外科學(xué)-上肢骨、關(guān)節(jié)損傷
- 單片機原理及應(yīng)用知到智慧樹章節(jié)測試課后答案2024年秋溫州醫(yī)科大學(xué)
- 《寧靜住宅評價標準》
- 科目一考試英文題
- 2025新人教版七年級下冊英語Unit7知識點梳理及語法講義(教師版)
- 臨時活動咖啡機租賃合同
評論
0/150
提交評論