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导入后可能存在一些报错,这个就需要自行解决了,我解决不了
,抛个砖,有人发现问题并解决的话,可以在本贴发出来分享一下~