亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android實戰之Cocos游戲容器如何搭建

發布時間:2022-09-23 15:06:56 來源:億速云 閱讀:182 作者:iii 欄目:開發技術

這篇文章主要介紹“Android實戰之Cocos游戲容器如何搭建”,在日常操作中,相信很多人在Android實戰之Cocos游戲容器如何搭建問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Android實戰之Cocos游戲容器如何搭建”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    準備工作

    • 安裝最新版本CocosDashboard

    • 在Dashborad下載最新版本編輯器

    Android實戰之Cocos游戲容器如何搭建

    • 在Android Studio安裝NDK,我這里安裝的是21.1.6352462,目前為止比較穩定

    Android實戰之Cocos游戲容器如何搭建

    • 在CocosDashboard新建HelloWorld項目并打開運行,我這里用的3.1.1版本

    • 打開CocosCreator菜單欄偏好設置,在外部程序欄中設置Android NDK和Android SDK路徑

    Android實戰之Cocos游戲容器如何搭建

    構建cocos游戲.so文件

    • 在CocosCreator菜單欄選擇項目-構建發布,選擇發布平臺:安卓,點擊構建,等大概幾分鐘

    Android實戰之Cocos游戲容器如何搭建

    • 成功后,用Android Studio打開文件夾里生成的proj項目,并運行該項目到手機上,這里游戲資源加載的是proj同級目錄assets,后續,我們會將assets壓縮包zip存放在我們服務器,達到用戶下載解壓后加載啟動游戲的目的。

    • 為了后續游戲容器能加載本地filePath下的游戲資源,需要修改JniCocosActivity.cpp里的Java_com_cocos_lib_CocosActivity_onCreateNative方法

    Android實戰之Cocos游戲容器如何搭建

    • ./gradlew assembleRelease打release包, 將instantapp-release.apk后綴改成zip,解壓后獲取lib下arm64-v8a/armeabi-v7a下的libcocos.so(構建版本設置那里可以勾選不同架構)

    制作自己的游戲容器

    • 創建module,包名為com.cocos.lib(為了和.so文件里保持一致,不然無法調用c方法)

    • module的清單文件加

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    • 將/Applications/CocosCreator/Creator/3.1.1/CocosCreator.app/Contents/Resources/resources/3d/engine-native/cocos/platform/android/java/libs拷貝到module/libs下

    • module下build.gradle添加

    implementation fileTree(include: ['*.jar'], dir: 'libs')
    • 將.so文件放在module/src/main/jniLibs/下

    • 將/Applications/CocosCreator/Creator/3.1.1/CocosCreator.app/Contents/Resources/resources/3d/engine-native/cocos/platform/android/java/src/com/cocos/lib下的java文件復制到module/src/main/java/com.cocos.lib下

    • 修改文件CocosActivity.java,因為游戲頁面官方推薦用多進程來做,所以這里退出游戲,即將游戲進程kill

    // 加一個filePath參數
    private native void onCreateNative(Activity activity, AssetManager assetManager, String obbPath, int sdkVersion, String filePath);
    // 外部傳入游戲資源路徑
    protected String filePath() {
        return "";
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
        onCreateNative(this, getAssets(), getAbsolutePath(getObbDir()), Build.VERSION.SDK_INT, filePath());
    }
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        System.exit(0);
    }

    總結

    自此,我們游戲容器制作完畢,我也將該篇的游戲容器module傳到了jitpack,可以直接使用:

    allprojects {
    		repositories {
    			...
    			maven { url 'https://jitpack.io' }
    		}
    }
    dependencies {
    	   implementation 'com.github.qq326646683:cocos-creator-android:1.0.0'
    }

    如何使用

    • 文件讀寫、網絡權限

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    • 下載游戲zip并解壓

    • 繼承CocosActivity,并將解壓后的路徑賦值給filePath

    class CocosGameActivity: CocosActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
        }
        override fun filePath() = intent.getStringExtra("path")
    }

    清單文件:

     <application>
            <meta-data
                android:name="android.app.lib_name"
                android:value="cocos" />
            <activity android:name=".CocosGameActivity" android:process=":cocos"/

    到此,關于“Android實戰之Cocos游戲容器如何搭建”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    手游| 香格里拉县| 崇文区| 自治县| 台北市| 叶城县| 怀柔区| 波密县| 贵定县| 南陵县| 峨边| 双牌县| 德化县| 鸡泽县| 伊通| 溧阳市| 比如县| 株洲市| 白朗县| 怀安县| 肇庆市| 正安县| 盱眙县| 句容市| 上栗县| 平湖市| 南皮县| 康马县| 汕尾市| 湘乡市| 家居| 肃北| 通化县| 四子王旗| 上虞市| 双城市| 元阳县| 惠州市| 罗源县| 边坝县| 乐清市|