2015-01-15 3 views
0

Я рассмотрел многочисленные опубликованные вопросы, связанные с этим, но, похоже, не может прийти к четкому решению. Я пытаюсь использовать emma для обеспечения покрытия кода для приложения и robotium в качестве единицы тестирования. Внешний dropbox.jar находится в пути сборки в eclipse.Добавление внешнего файла Jar в сборку муравей в скрипте Bash

Приложение и тестовые примеры успешно выполняются в Eclipse, однако при запуске скрипта ant не может найти зависимости dropbox.jar. Ниже мой сценарий, а затем раздел журнала из муравьиного вызова

#!/bin/bash 
#Code Coverage Script: 
#(android:command not found error) 
export ANDROID_HOME=/Users/Deverick/android-skds 
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:/Users/Deverick/Documents/workspace/Diary-Test/libs/dropbox-android-sdk-1.6.1:$PATH 

echo $PATH 
cd ~/Documents/workspace/ 
cd Diary 
ant clean 
cd .. 
cd Diary-Test 
ant clean 
cd .. 
android update project --path ./ --name Diary --target android-16 --subprojects 
cd Diary-Test 
android update test-project --main ../Diary --path ./ 
ant emma debug install 
ant emma debug install test 

Вход Выход:

-code-gen: 
[mergemanifest] Merging AndroidManifest files into one. 
[mergemanifest] Manifest merger disabled. Using project manifest only. 
    [echo] Handling aidl files... 
    [aidl] No AIDL files to compile. 
    [echo] ---------- 
    [echo] Handling RenderScript files... 
    [echo] ---------- 
    [echo] Handling Resources... 
    [aapt] Generating resource IDs... 
    [echo] ---------- 
    [echo] Handling BuildConfig class... 
[buildconfig] Generating BuildConfig class. 

-pre-compile: 

-compile: 
    [javac] Compiling 4 source files to /Users/Deverick/Documents/workspace/Diary/bin/classes 
    [javac] /Users/Deverick/Documents/workspace/Diary/src/jpf/android/diary/Diary.java:2: warning: unmappable character for encoding UTF-8 
    [javac] // Copyright ? 2012 Josep Portella Florit <[email protected]> 
    [javac]    ^
    [javac] /Users/Deverick/Documents/workspace/Diary/src/jpf/android/diary/Diary.java:39: package com.dropbox.client2 does not exist 
    [javac] import com.dropbox.client2.DropboxAPI; 
    [javac]       ^
    [javac] /Users/Deverick/Documents/workspace/Diary/src/jpf/android/diary/Diary.java:40: package com.dropbox.client2.android does not exist 
    [javac] import com.dropbox.client2.android.AndroidAuthSession; 

Как я могу идти о добавлении этого .jar путь к сценарию, так это рассматривается как зависимость? Я видел некоторые ссылки на $ CLASSPATH. Большинство вопросов, связанных с этим, использовали файл build.xml для добавления зависимостей, однако скрипт каждый раз очищает файл build.xml. Любое разъяснение очень ценится!

ответ

0

Так просто отчитаться за на от сообщества, я нашел решение моей проблемы и, возможно, проблемы некоторых разработчиков, использующих antandroid applications with external .jars компилировать.

Убедитесь, что ваши файлы jar немедленно находятся в вашей папке libs, которая не находится в какой-либо подпапке lib. Кажется, ант не рекурсивно ищет подпапки libs для .jar файлов.

Запуск сценария снова, связанные с библиотекой зависимости и ошибки удалены из сценария. Надеюсь, поможет!

0

Вот выдержка из справочной системы ant. надеюсь это поможет.

-lib <path> 
       specifies a path to search for jars and classes 
Смежные вопросы