中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

邢臺(tái)做網(wǎng)站的價(jià)格成都搜索優(yōu)化排名公司

邢臺(tái)做網(wǎng)站的價(jià)格,成都搜索優(yōu)化排名公司,網(wǎng)站怎么做直播,武漢中小企業(yè)網(wǎng)站制作公司1 Unity 發(fā)布 apk 1.1 安裝 Android Build Support 在 Unity Hub 中打開添加模塊窗口,操作如下。 選擇 Android Build Support 安裝,如下(筆者這里已安裝過)。 創(chuàng)建一個(gè) Unity 項(xiàng)目,依次點(diǎn)擊【File→Build Settings→…

1 Unity 發(fā)布 apk

1.1 安裝?Android Build Support

? ? ? ? 在 Unity Hub 中打開添加模塊窗口,操作如下。

????????選擇 Android Build Support 安裝,如下(筆者這里已安裝過)。?

? ? ? ? ?創(chuàng)建一個(gè) Unity 項(xiàng)目,依次點(diǎn)擊【File→Build Settings→Android→Switch Platform】,配置如下。

????????依次點(diǎn)擊【Edit→Preferences→External Tools】打開 JDK、SDK、NDK、Gradle 配置頁面,配置如下(勾選默認(rèn)配置就行,也可以選擇已安裝的 JDK、SDK、NDK、Gradle路徑)。

1.2 配置密鑰

????????依次點(diǎn)擊【Edit→Project Settings→Player→Keystore Manager】(也可以從【File→Build Settings→Player Settings→Keystore Manager】中進(jìn)入),操作如下。

????????打開?Keystore Manager 后, 依次點(diǎn)擊【Create New→Anywhere】,選擇一個(gè)目錄保存密鑰庫文件,筆者保存在項(xiàng)目目錄下面的【Keystore/user.keystore】中。

????????接著設(shè)置密碼和別名,其他選項(xiàng)不是必設(shè)項(xiàng)。

????????Add Key 后,會(huì)彈出“是否將創(chuàng)建的密鑰庫作為項(xiàng)目的密鑰庫”彈窗,點(diǎn)擊 yes 確認(rèn)。

? ? ? ? ?設(shè)置密鑰后,回到 Project Settings 頁面,顯示如下。

? ? ? ? 創(chuàng)建密鑰時(shí),也可以通過以下命令創(chuàng)建。

keytool -genkey -keyalg RSA -alias key_name -keystore keystore_name -validity day_time
keytool -genkey -keyalg RSA -alias first -keystore user -validity 36500

1.3 打包 apk

????????依次點(diǎn)擊【File→Build Settings→Player Settings】,配置公司名、項(xiàng)目名、版本號(hào)等信息,如下。

? ? ? ? 在 Other Settings 中配置包名、Android SDK 的最小 API 版本、目標(biāo) API 版本等信息,如下。?

? ? ? ? 關(guān)閉 Player Settings,在 Build Settings 頁面點(diǎn)擊底部的 Build,構(gòu)建 apk。?

1.4 案例

? ? ? ? 新建一個(gè) Unity 項(xiàng)目,修改 Game 頁面的屏幕尺寸,如下。

? ? ? ? 搭建頁面如下。

????????給 Button 按鈕添加腳本,如下。

????????Test.cs

using UnityEngine;
using UnityEngine.UI;public class Test : MonoBehaviour {private Button button;private void Start() {button = GetComponent<Button>();button.onClick.AddListener(OnClick);}private void OnClick() {Debug.Log("Test-OnClick");}
}

? ? ? ? 編譯 apk 后,打開命令行窗口,輸入以下命令安裝到手機(jī)上。

adb instll -r -t -d Test.apk

? ? ? ? 運(yùn)行 apk 后,在命令行窗口中通過以下命令查看日志。

adb logcat | findstr "Test-OnClick"

? ? ? ? ?點(diǎn)擊 Button 按鈕,打印日志如下。

2 Unity 調(diào)?Android 的邏輯

2.1? Unity 項(xiàng)目中部署 Android 代碼

????????1)拷貝 Java 源碼到 Unity 項(xiàng)目

????????可以將 Android 項(xiàng)目中 Java 代碼拷貝到 Unity 項(xiàng)目中?Assets 子目錄下,如下,接著就可以通過?AndroidJavaClass 或 AndroidJavaObject 訪問 Java 代碼了。

? ? ? ? 2)打包 Jar 到 Unity 項(xiàng)目

????????可以將 Android 項(xiàng)目打包為 Jar,再將 Jar 拷貝到 Unity 項(xiàng)目中?Assets 子目錄下,接著就可以通過?AndroidJavaClass 或 AndroidJavaObject 訪問 Java 代碼了。

????????修改 Android 項(xiàng)目中 Module 的 build.gradle 文件,如下,主要將 id 由 'com.android.application'?修改為 'com.android.library',刪除 android { } 模塊中的 defaultConfig、buildTypes、compileOptions 子模塊。

????????build.gradle

plugins {id 'com.android.library'
}android {namespace 'com.zhyan8.test'compileSdk 33
}dependencies {implementation 'androidx.appcompat:appcompat:1.6.1'implementation 'com.google.android.material:material:1.8.0'implementation 'androidx.constraintlayout:constraintlayout:2.1.4'testImplementation 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.5'androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

????????修改 build.gradle 文件后,需要點(diǎn)擊右上角的 Sync Now 同步,接著按以下步驟編譯項(xiàng)目。

????????編譯結(jié)束后,在 Module 的【build\intermediates\aar_main_jar\debug】目錄下生成打包的 classes.jar。

? ? ? ? 預(yù)覽 classes.jar 文件如下。

2.2 AndroidJavaObject 和 AndroidJavaClass

? ? ? ? AndroidJavaObject 和?AndroidJavaClass 是 Unity 提供的調(diào)用 Java 代碼的 2 個(gè)類,AndroidJavaClass 繼承 AndroidJavaObject,它們只有構(gòu)造方法有一點(diǎn)差異,沒有其他的差異,因此,本節(jié)只介紹?AndroidJavaObject。

? ? ? ? 1)Set 和 Get 屬性

? ? ? ? JavaTest.java

package com.zhyan8.test;public class JavaTest {public static int intVal = 0;private String strVal = "abc";
}

? ? ? ? UnityTest.cs

using UnityEngine;public class UnityTest : MonoBehaviour {private void Start() {AndroidJavaObject javaObject = new AndroidJavaObject("com.zhyan8.test.JavaTest");// 靜態(tài)屬性Set/GetjavaObject.SetStatic<int>("intVal", 123);int intVal = javaObject.GetStatic<int>("intVal");Debug.Log("UnityTest, intVal=" + intVal); // 打印: UnityTest, intVal=123// 非靜態(tài)屬性Set/GetjavaObject.Set<string>("strVal", "xyz");string strVal = javaObject.Get<string>("strVal");Debug.Log("UnityTest, strVal=" + strVal); // 打印: UnityTest, strVal=xyz}
}

? ? ? ? 說明:對(duì)于 JavaTest 的 private 屬性,AndroidJavaObject?也可以訪問到。

? ? ? ? 2)調(diào)用方法

? ? ? ? JavaTest.java

package com.zhyan8.test;import android.util.Log;public class JavaTest {public static void fun1() {Log.d("JavaTest", "fun1"); // 打印: JavaTest: fun1}private int fun2() {Log.d("JavaTest", "fun2"); // 打印: JavaTest: fun2return 123;}public String fun3(int value) {Log.d("JavaTest", "fun3, value=" + value); // 打印: JavaTest: fun3, value=235return "Call fun3";}public String fun4(String value1, int value2) {Log.d("JavaTest", "fun4, value1=" + value1 + ", value2=" + value2); // 打印: JavaTest: fun4, value1=abc, value2=123return value1 + value2;}
}

????????說明:對(duì)于 JavaTest 的 private 方法,AndroidJavaObject?也可以訪問到。??

????????UnityTest.cs

using UnityEngine;public class UnityTest : MonoBehaviour {private void Start() {AndroidJavaObject javaObject = new AndroidJavaObject("com.zhyan8.test.JavaTest");// 靜態(tài)方法javaObject.CallStatic("fun1");// 非靜態(tài)無參方法int val2 = javaObject.Call<int>("fun2");Debug.Log("UnityTest, val2=" + val2); // 打印: UnityTest, val2=123// 非靜單參方法string val3 = javaObject.Call<string>("fun3", 235);Debug.Log("UnityTest, val3=" + val3); // 打印: UnityTest, val3=Call fun3// 非靜雙參方法string val4 = javaObject.Call<string>("fun4", "abc", 123);Debug.Log("UnityTest, val4=" + val4); // 打印: UnityTest, val4=abc123}
}

? ? ? ? 運(yùn)行程序后,打印日志如下。

2.3 Unity 調(diào)用 Android 的 Toast

????????UnityTest.cs

using UnityEngine;
using UnityEngine.UI;public class UnityTest : MonoBehaviour {private void Start() {GetComponent<Button>().onClick.AddListener(() => {Toast("Clicked", 1);});}// 調(diào)用Android的代碼: Toast.makeText(context, msg, durationFlag).show();private void Toast(string msg, int durationFlag) { // durationFlag: Toast.LENGTH_SHORT=0, Toast.LENGTH_LONG=1AndroidJavaClass toastClass = new AndroidJavaClass("android.widget.Toast");AndroidJavaClass unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaObject toast = toastClass.CallStatic<AndroidJavaObject>("makeText", currentActivity, msg, durationFlag);toast.Call("show");}
}

????????UnityPlayer 是 Unity 引擎提供的 Java 類。

3 Android 調(diào) Unity 的邏輯

3.1 Unity 打包為 Android 項(xiàng)目

? ? ? ? 在 Build Settings 頁面勾選 Export Project 后,點(diǎn)擊 Export 按鈕,如下。

? ? ? ? 構(gòu)建成功后,Unity 項(xiàng)目將會(huì)被打包成一個(gè) Android 項(xiàng)目,我們可以使用 Android Studio 打開生成的 Android 項(xiàng)目。

D:\Program Files\Unity Hub\Unity\Editor\2021.3.11f1c2\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\classes.jar

3.2 Unity 打包為 aar

http://www.risenshineclean.com/news/59194.html

相關(guān)文章:

  • 湖里區(qū)建設(shè)局網(wǎng)站無錫網(wǎng)絡(luò)優(yōu)化推廣公司
  • php如何做局域網(wǎng)的網(wǎng)站今日頭條指數(shù)查詢
  • 自己可以進(jìn)行網(wǎng)站建設(shè)嗎上海知名的seo推廣咨詢
  • 全國疫情最新中高風(fēng)險(xiǎn)地區(qū)名單青島百度seo代理
  • 信息設(shè)計(jì)網(wǎng)站百度網(wǎng)盤服務(wù)電話6988
  • 東莞外貿(mào)優(yōu)化公司東莞搜索優(yōu)化十年樂云seo
  • 網(wǎng)站建設(shè)寫代碼自己怎么創(chuàng)業(yè)附近哪里有計(jì)算機(jī)培訓(xùn)班
  • 網(wǎng)站建設(shè)中最重要的南寧百度推廣代理商
  • 網(wǎng)站seoapp阿亮seo技術(shù)
  • 甘肅省城鄉(xiāng)和建設(shè)廳網(wǎng)站首頁seo優(yōu)化方法網(wǎng)站快速排名推廣渠道
  • php在動(dòng)態(tài)網(wǎng)站開發(fā)深圳網(wǎng)絡(luò)公司推廣平臺(tái)
  • 網(wǎng)站建設(shè)信息模板下載在哪里可以做百度推廣
  • 做網(wǎng)站的上市公司海外發(fā)布新聞
  • 番禺網(wǎng)站建設(shè)優(yōu)化網(wǎng)站產(chǎn)品怎么優(yōu)化
  • 平潭城鄉(xiāng)住房建設(shè)廳網(wǎng)站如何推廣小程序
  • 靈犀科技網(wǎng)站開發(fā)精準(zhǔn)營(yíng)銷系統(tǒng)價(jià)值
  • 做網(wǎng)站開發(fā)的提成多少錢seo推廣培訓(xùn)費(fèi)用
  • 怎么做網(wǎng)站結(jié)構(gòu)圖seo公司彼億營(yíng)銷
  • 臨平網(wǎng)站建設(shè)東莞專業(yè)網(wǎng)站推廣工具
  • seo網(wǎng)站開發(fā)注意事項(xiàng)鄭州整站網(wǎng)站優(yōu)化
  • 網(wǎng)站打不開顯示asp網(wǎng)站設(shè)計(jì)規(guī)劃
  • 做房地產(chǎn)資質(zhì)是什么網(wǎng)站查seo褲子的關(guān)鍵詞首頁排名有哪些
  • 建設(shè)公積金網(wǎng)站蘇州做網(wǎng)站的專業(yè)公司
  • 廣州市網(wǎng)站建設(shè)制作費(fèi)用站長(zhǎng)全網(wǎng)指數(shù)查詢
  • 2017自己做網(wǎng)站的趨勢(shì)seo站長(zhǎng)
  • 學(xué)做網(wǎng)站網(wǎng)百度網(wǎng)訊科技有限公司官網(wǎng)
  • 長(zhǎng)沙企業(yè)做網(wǎng)站百度一下你就知道官網(wǎng)網(wǎng)址
  • 如何制作香水 簡(jiǎn)單seo交流論壇seo顧問
  • 網(wǎng)站維護(hù)步驟優(yōu)化營(yíng)商環(huán)境存在問題及整改措施
  • 一元購網(wǎng)站建設(shè)多少錢seo自學(xué)教程seo免費(fèi)教程