[Android] فشل بناء: غرادل مع ويوتوماتور الروبوت


Answers

لقد واجهت هذه المشكلة على جهاز كمبيوتر ويندوز. لدي مهمة غرادل مخصصة لإنشاء ملفات ديكس وكنت تشغيله مع الأمر كوماندلين. وكانت المسألة أنه لا يمكن تحديد أداة دكس في الروبوت سك المنزل. لذلك لقد غيرت المسار في كوماندلين لتشمل .bat في نهاية أداة دكس في ملف build.gradle بلدي.

commandLine androidSdkHome + '/' + androidSdkBuildToolsDir + '/' + 'dx.bat', '--dex', '--no-strict', '--output=' + buildDir +'\\' + project.name + '.jar', jar.archivePath

Question

كنت قد حاولت بناء بلدي ملف جرة اختبار المشروع باستخدام غرادل بدلا من النمل مع الروبوت أويوتوماتور ولكن أنا الحصول على بيلد فشل خطأ.

كنت قد أشار باستخدام غرادل مع نموذج الروبوت يوتوماتور هنا - http://wiliamsouza.github.io/#/2013/10/30/android-uiautomator-gradle-build-system

كنت قد استخدمت الأوامر التالية:

 android create uitest-project -n ProjectName -t 46 -p  D:\Android_Workspace\Smriti\ProjectName 

 set ANDROID_HOME=D:\Android Development\android-sdk

 cd D:\Android_Workspace\Smriti\ProjectName

 gradle build   //here I get build failed error

خصائص غرادل كما هو موضح أدناه:

androidSdkHome = D:/Android Development/android-sdk
androidSdkTarget = android-19
androidSdkBuildToolsDir = build-tools/19.0.0

و build.gradle هو -

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.5
targetCompatibility = 1.5

version = '0.1'

project.ext {
   dexDir = new File('build/dex')
   distDir = new File('./dist')
}

repositories {
   mavenCentral()
}

dependencies {
   compile fileTree(dir: androidSdkHome + '/platforms/' + androidSdkTarget, include:  '*.jar')
   compile group: 'junit', name: 'junit', version: '4.11'
}

jar {
   doLast {
     tasks.dex.execute()
   }
}

task dex(dependsOn: jar, type:Exec) {
   println 'Building dex...'
   project.dexDir.mkdirs()
   workingDir '.'
   commandLine androidSdkHome + '/' + androidSdkBuildToolsDir + '/' + 'dx', '--dex', '--  no-strict', '--output=' + buildDir +'/dex/' + project.name + '.jar', jar.archivePath
   doLast {
      tasks.dist.execute()
   }
}

task dist(dependsOn:dex, type:Copy) {
   project.distDir.mkdirs()
   from(project.dexDir)
   into(project.distDir)
   include('*.jar')
}

سيكون موضع تقدير أي مساعدة.

شكر.