안드로이드 프로젝트를 위해 소스로 체크인하지 않고 대신 빌드 시스템에서 다운로드 할 수있는 자산이 있습니다. 나는 그들을 다운로드하고 gradle에서 추출하는 방법을 알아 냈지만, apk에 복사되지 않기 때문에 빌드 과정에서 너무 늦은 것처럼 보인다.Android Studio에서 gradle 빌드 중 자산 디렉토리에 자산을 추출하려면 어떻게해야합니까?
def assetsDir = new File(projectDir, 'src/main/assets')
task extractAssets(type: Exec) {
def wd = assetsDir
def extractDir = 'extractedStuff'
outputs.dir "${wd}/${extractDir}"
workingDir wd
commandLine 'tar', 'xzf', 'assets-to-extract.tgz', extractDir
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn extractAssets
}
깨끗한 후에 처음 실행하면 애셋을 assets 디렉토리로 추출하지만 내 apk에는 포함시키지 않습니다. 그 후, 내가 구축 할 때마다 APK에 자산이 포함됩니다. 결론은 extractAssets 작업을 빌드 프로세스 초기에 수행해야한다는 것입니다 (mergeAssets보다 먼저?). 그렇다면 dependsOn을 어디에 추가합니까? 당신의 Gradle을 파일에서
나는 최근에 많은 잠재적 인 해답이있는 비슷한 질문을 발견했다. 나는 그들이 무엇이 작동하는지 보도록 노력할 것이다. http://stackoverflow.com/questions/17213236/how-to-run-copy-task-with-android-studio-into-assets-folder –