Android原生项目集成CocosCreator3.5.1安卓项目教程

1、正常打安卓包
2、通过AndroidStudio打开安卓包
3、注释以下文件中的部分代码

文件:native/engine/android/app/build.gradle
        // 需要修改的代码
        apply plugin: 'com.android.application' 改为 apply plugin: 'com.android.library'
        // 需要注释的代码
        applicationId APPLICATION_ID
        shrinkResources true
        implementation fileTree(dir: '../libs', include: ['*.jar','*.aar'])
        implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
        implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar'])

文件:native/engine/android/app/AndroidManifest.xml
        // 需要注释的代码
        android:label="@string/app_name
        android:icon="@mipmap/ic_launcher"
        <intent-filter>
           <action android:name="android.intent.action.MAIN" />
           <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

4、打aar包
回到AndroidStudio,双击ctrl在RunAnything窗口运行gradle assembleRelease文件,结束后会导出aar文件到android\proj\build\项目名\outputs\aar\项目名-release.aar,最后将android\proj\build\libcocos\outputs\aar\libcocos-release.aar、android\proj\libservice\build\outputs\aar\libservice-release.aar以及android\proj\build\项目名\outputs\aar\项目名-release.aar提供给Android原生项目
5、应用aar包
将cocos提供的aar包放入原生项目的libs文件夹下,并修改项目build.gradle文件的dependencies配置

implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])

6、创建cocosAppActivty
新建java文件到项目对应位置,命名可以为MyAppActivity,继承AppActivity,其余逻辑不用写。

package com.xxx.xxx;

import com.cocos.game.AppActivity;

public class MyAppActivity extends AppActivity {

}

修改AndroidManifest.xml清单文件,添加以下代码:

		<activity android:name="xxx.MyAppActivity"
			android:screenOrientation="xxxx"
			android:theme="@style/xxxx"
			android:windowSoftInputMode="xxxx"
			android:configChanges="xxxx" />

7、打开cocosAppActivty
在指定地方加入以下代码,kt文件代码如下仅供参考:

context.startActivity(Intent(context, MyAppActivity::class.java));

ok,大功告成,亲测热更也不受影响~。

PS:aar导入后可能存在一些报错,这个就需要自行解决了,我解决不了 :rofl:,抛个砖,有人发现问题并解决的话,可以在本贴发出来分享一下~

3赞
    apply plugin: 'com.android.application'

应该改成
apply plugin: ‘com.android.library’
而不是注释掉

是的,我漏说了