由于安全原因,我有一个项目需要在离线模式下工作,没有任何互联网连接.我的androidStudio定义为离线模式.当我通过Task/build/assembleRelease运行汇编版本时,一切正常,我构建了我的apk.但是当通过命令行命令运行时:
gradlew --offline assembleRelease
Run Code Online (Sandbox Code Playgroud)
我得到的一堆错误比没有这个和那个的兑现版本.当我修复一个错误并将一些文件复制到缓存时,我得到新的错误,其他东西丢失了.
那么,如何通过androidStudio的assembleRelease工作?如何通过cmd或远程运行相同的命令,因为它似乎需要所有缓存.从studio和cmd运行assembleRelease有什么区别?
此外,我知道简单的解决方案,在线运行一次然后它的工作原理.不能这样做......
由于我的PC能够构建整体APK,如何通过cmd或远程无需androidStudio这样做?
首先,我真的很惊讶你可以使用Android Studio构建项目,但不能直接调用Gradle.不同的Gradle版本可能是一个原因,但由于您已经使用了Gradle包装器,因此不太可能.也许Android Studio未配置为使用包装器.
但是,我明确建议不要复制不同系统的Gradle缓存之间的依赖关系.相反,我鼓励您在脱机存储库中收集所需的依赖项,例如flatDir存储库:
repositories {
flatDir name: 'offlineRepository', dirs: "C:/path/to/repository"
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,flatDir存储库不支持来自Maven文件等描述符文件的传递依赖.pom,但您也可以为本地文件系统位置定义maven或ivy存储库:
repositories {
maven {
name = 'offlineRepository'
url = uri('file:///c:/path/to/repository')
}
}
Run Code Online (Sandbox Code Playgroud)
如果应该可以从在线和特定的脱机环境构建项目,您可以考虑在本地计算机上定义初始化脚本,用任何已定义的存储库替换您的脱机存储库.
| 归档时间: |
|
| 查看次数: |
1592 次 |
| 最近记录: |