将aar包导出至Unity时提示‘Module not specified’问题求助
解决将Android模块转为Library后无法构建AAR的问题
我之前也碰到过一模一样的坑!把com.android.application改成com.android.library后,模块性质完全变了——它不再是可独立运行的App,而是供其他项目依赖的Library,所以原来的构建逻辑和配置都得跟着调整,咱们一步步来修复:
1. 修正build.gradle的核心配置
打开app模块下的build.gradle(不是项目根目录的那个),确保:
- 开头的插件声明是
plugins { id 'com.android.library' }(老版本是apply plugin: 'com.android.library') - 删除所有Application专属的配置:比如
defaultConfig里的applicationId、android块里的applicationVariants相关代码、buildTypes里和签名相关的signingConfig(如果不需要给AAR签名的话)
2. 换正确的构建方式生成AAR
改成Library后,Build APK选项会失效,因为Library不生成APK,只生成AAR。你需要:
- 方式一:点击顶部菜单栏的
Build > Make Module 'app',完成后去app/build/outputs/aar/目录找生成的AAR文件(分debug和release版本) - 方式二:打开右侧的Gradle面板,找到你的app模块,展开
Tasks > build,双击assembleRelease(或assembleDebug),这会直接生成对应版本的AAR
3. 解决「Module not specified」报错
这个报错大多是因为旧的Run/Debug配置还在生效:
- 点击
Run > Edit Configurations,删掉所有类型为「Android App」的配置(Library模块不需要运行配置) - 如果是构建时的报错,检查
File > Project Structure,确认app模块的类型是Library(不是Application)
4. 收尾的Manifest和依赖检查
- 打开
AndroidManifest.xml,删掉<activity>标签里的<intent-filter>(就是包含android.intent.action.MAIN和android.intent.category.LAUNCHER的那部分)——Library不需要启动入口 - 确认Unity的
classes.jar依赖配置正确,推荐用compileOnly files('libs/classes.jar')(避免和Unity里的jar冲突)
按照这些步骤走,应该就能顺利生成AAR包导入Unity了!
内容的提问来源于stack exchange,提问作者尉宏亿
相关产品推荐
相关产品推荐

