如何在Android Studio中正确导入tron的abi、core、utils模块?
解决Trident-Java源码文件夹导入Android Studio后无法调用方法的问题
问题根源
你用fileTree(dir:'libs/core')这类配置无效,因为fileTree默认只会加载目录下的.jar/.aar编译产物,而你复制的是源码文件夹,Gradle不会自动把这些源码纳入编译流程,所以同步无报错但找不到方法。
可行解决方案
方案一:导入为Android Library模块(推荐,便于维护)
- 右键点击项目根目录 →
New→Module,选择Android Library,分别创建trident-abi、trident-core、trident-utils三个模块 - 把克隆仓库里
trident-java/abi/src/main/java下的所有包结构文件夹(比如org/trident/abi)复制到trident-abi模块的src/main/java目录下 - 同理,把
core和utils的源码分别对应复制到各自的模块目录中 - 在app模块的
build.gradle的dependencies块中添加:implementation project(':trident-core') implementation project(':trident-abi') implementation project(':trident-utils') - 同步Gradle后,即可在代码中正常调用这些库的方法
方案二:直接合并源码到app模块(快速简单)
- 打开app模块的
src/main/java目录 - 把克隆仓库里
abi、core、utils三个文件夹下src/main/java中的包结构文件夹(比如org/trident开头的文件夹)直接复制到app的src/main/java下 - 无需修改
build.gradle,同步Gradle后就能直接调用相关方法
方案三:通过Gradle配置源码目录依赖
- 把克隆下来的
abi、core、utils三个文件夹放到项目根目录下(比如命名为trident-abi、trident-core、trident-utils) - 在app模块的
build.gradle中添加sourceSets配置:sourceSets { main { java { srcDirs += ['../trident-abi/src/main/java', '../trident-core/src/main/java', '../trident-utils/src/main/java'] } } } - 同步Gradle,Gradle会把这些目录当成app模块的源码目录进行编译
内容的提问来源于stack exchange,提问作者WHOATEMYNOODLES
相关产品推荐
相关产品推荐

