免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
unity 調(diào)用android函數(shù)
我們知道,安卓工程都有一個(gè)AndroidManifest.xml,里面指定了啟動(dòng)Activity等信息。u3d里我們并沒(méi)有給出這個(gè)文件,可見(jiàn),一定是它在編譯的時(shí)候,自動(dòng)為我們添加了這些文件。
如何知道unity還為我們添加了什么文件,每個(gè)文件中有什么內(nèi)容呢?.apk文件其實(shí)就是一個(gè)壓縮包,在win上用win rar就能打開(kāi)這個(gè)包。下圖是apk包的內(nèi)容。若要知道每個(gè)文件的具體內(nèi)容,就必須解析出apk,可以借助AndroidMutiltool(點(diǎn)擊下載)工具。這里提供了一個(gè)unity 導(dǎo)出的apk和用andoridMuting工具解析出的文件(點(diǎn)擊此處下載文件)
	從上圖可以看到,u3d為我們添加了一個(gè)AndroidManfiest.xml。那么如何使用我們自定義的AndroidManifest.xml呢?很簡(jiǎn)單,只需要將自定義的Androidmanifest.xml放到指定的位置就可以了,至于具體什么位置,待會(huì)再說(shuō)。

下面開(kāi)始切入正題。

	unity如何調(diào)用android工程中的函數(shù)?思路是這樣的:
		第一、自定義啟動(dòng)Activity。(從上面的AndroidManifest.xml可知unity默認(rèn)的啟動(dòng)Activity是UnityPlayerNativeActivity)。若要此工程從自定義activity啟動(dòng),就需要自定義的AndroidManifest.xml。但unity不能直接編譯執(zhí)行java文件,所以要把MainActivity編譯,打包成jar庫(kù),引入unity。
		第二、調(diào)用Activity中函數(shù)。unity全程只有一個(gè)Activity,所以我們可以通過(guò)獲取當(dāng)前Activity來(lái)獲取activity對(duì)象,通過(guò)jni調(diào)用activity的函數(shù)。
	
[csharp] view plain copy
  1. AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");  
  2. AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject> ("currentActivity");  

	有了思路,下面開(kāi)始動(dòng)手實(shí)現(xiàn)。
	1、打開(kāi)eclipse,新建android工程test001。記住包名(package name)后面會(huì)用。
	2、將unity下的android庫(kù)classes.jar復(fù)制到工程test001的libs目錄下。classes.jar路徑:安裝盤(pán)\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin下。
		
	3、將classes.jar添加到j(luò)ava build path。
		方法有兩種。①右鍵classes.jar -> build path -> add to build path。②工程->屬性->java build path -> libraries -> addJars
		
	4、修改MainActivity.java。
		注意:setContentView(...)這句如果不注釋掉,你看到的將會(huì)是android工程的hello world界面。
		
	5、編譯工程。
	6、打包.class文件。 
		進(jìn)入工程目錄/bin/classes。里面有一個(gè)com文件下,該文件夾里存了多個(gè).class文件?,F(xiàn)在要將com文件夾打包。在classes下執(zhí)行jar -cvf myclasses.jar com。
	7、用unity新建項(xiàng)目test001,在Assets目錄中新建下列目錄
		
		myclasses.jar復(fù)制到bin下。將AndroidManifest.xml復(fù)制到Android目錄下。將res目錄復(fù)制到Android目錄下。
	8、在Assets目錄下新建一個(gè)c#腳本,關(guān)聯(lián)到主相機(jī)。腳本內(nèi)容如下
		
[csharp] view plain copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class test : MonoBehaviour {  
  5.   
  6.     private AndroidJavaObject m_jo;  
  7.     // Use this for initialization  
  8.     void Start () {  
  9.         Debug.Log ("start***");  
  10.         AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");  
  11.         m_jo = jc.GetStatic<AndroidJavaObject> ("currentActivity");  
  12.         if (m_jo != null)  
  13.                         Debug.Log (m_jo);  
  14.                 else  
  15.                         Debug.Log ("get static object fail ***");  
  16.     }  
  17.       
  18.     // Update is called once per frame  
  19.     void Update () {  
  20.       
  21.     }  
  22.   
  23.     void OnGUI () {  
  24.         if (GUI.Button (new Rect (100, 100, 100, 50), "test_2")) {  
  25.             Debug.Log ("tset_2");  
  26.             Debug.Log( "the result is : " + m_jo.Call<int>("times_2", 5) );  
  27.         }  
  28.   
  29.         if (GUI.Button (new Rect (100, 200, 100, 50), "test_3")) {  
  30.             Debug.Log ("tset_3");  
  31.             Debug.Log( "the result is : " + m_jo.Call<int>("times_3", 5) );  
  32.         }  
  33.     }  
  34. }  

	9、編譯運(yùn)行。
		編譯時(shí),點(diǎn)BuildSetting -> Player Setting -> other Setting -> Bundle Identifier,將此項(xiàng)值設(shè)置為上面第①條提到的包名
	10、查看輸出log。
		log信息要通過(guò)logcat查看。進(jìn)入android sdk下的platform-tools目錄,里邊有個(gè)adb.exe。執(zhí)行命令./adb.exe logcat就可以看到log信息了。
	我上傳了這個(gè)工程需要用到的文件(如xml,myclasses.jar,res/)。還包含了MainActivity.java文件便于理解。http://download.csdn.net/detail/u012085988/6741421
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Unity打Android包報(bào)錯(cuò)總結(jié) 長(zhǎng)期更新
unity
Unity接入android sdk
unity3d開(kāi)發(fā)的android應(yīng)用中加入AD系統(tǒng)的具體步驟
Android Little Tips系列之一:如何反編譯apk文件
Unity3D調(diào)用第三方SDK(之一)從eclipse到Unity3D
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服