2013-12-22 6 views
1

Я пытаюсь настроить среду разработки с обработкой для Android.Настройка обработки для среды разработки Android

Я выполнил все инструкции по установке SDK и, но я все еще не могу скомпилировать встроенные примеры.

В Linux я получаю:

BUILD FAILED 
/home/poko/android-studio/sdk/tools/ant/build.xml:962: The following error occurred while executing this line: 
/home/poko/android-studio/sdk/tools/ant/build.xml:973: The following error occurred while executing this line: 
/home/poko/android-studio/sdk/tools/ant/build.xml:313: com.android.sdklib.build.ApkCreationException: Failed to create key: Cannot run program "/home/poko/Downloads/software/processing-2.1/java/bin/keytool": error=2, No such file or directory 
JAVA_HOME is set to: /home/poko/Downloads/software/processing-2.1/java 
Update it if necessary, or manually execute the following command: 
/home/poko/Downloads/software/processing-2.1/java/bin/keytool -genkey -alias AndroidDebugKey -keyalg RSA -dname "CN=Android Debug,O=Android,C=US" -validity 10950 -keypass android -keystore /home/poko/.android/debug.keystore -storepass android 
    at com.android.sdklib.build.ApkBuilder.getDebugKey(ApkBuilder.java:300) 
    at com.android.sdklib.build.ApkBuilder.<init>(ApkBuilder.java:392) 
    at com.android.ant.ApkBuilderTask.execute(ApkBuilderTask.java:334) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) 
    at com.android.ant.IfElseTask.execute(IfElseTask.java:124) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) 
    at com.android.ant.IfElseTask.execute(IfElseTask.java:124) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at processing.mode.android.AndroidBuild.antBuild(AndroidBuild.java:415) 
    at processing.mode.android.AndroidBuild.build(AndroidBuild.java:73) 
    at processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:220) 
    at processing.mode.android.AndroidEditor$14.run(AndroidEditor.java:310) 

Total time: 14 seconds 

Обратите внимание две вещи: JAVA_HOME установлен в директории JDK на моем Linux поле. Но обработка говорит, что для JAVA_HOME установлено значение: /home/poko/Downloads/software/processing-2.1/java, которое является собственным дистрибутивом обработки java. Во-вторых, команда keytool отсутствует в обработке собственного дистрибутива java.

Заранее спасибо.

ответ

1

У меня была такая же проблема.

Обходным путем является выполнение команды keytool вручную. Потому что его нужно сделать только один раз. обратите внимание, что вывод говорит вам о том, что:

, or manually execute the following command: 
/home/poko/Downloads/software/processing-2.1/java/bin/keytool -genkey -alias AndroidDebugKey -keyalg RSA -dname "CN=Android Debug,O=Android,C=US" -validity 10950 -keypass android -keystore /home/poko/.android/debug.keystore -storepass android 

Вам просто нужно изменить путь к правильному пути Java от:

/home/poko/Downloads/software/processing-2.1/java 

К (Использование JAVA_HOME, если множество ее должным образом в вашей системе)

$JAVA_HOME/bin/keytool -genkey -alias AndroidDebugKey -keyalg RSA -dname "CN=Android Debug,O=Android,C=US" -validity 10950 -keypass android -keystore /home/poko/.android/debug.keystore -storepass android 

или просто замените $ JAVA_HOME правильным курсом java. В моем случае это было/usr/lib/jvm/default-java, я использую KXStudio на основе Ubuntu 12.04.3 LTS.

Не знаю, как исправить это чистым способом ATM. Сообщите, если я это выясню.

+0

I, m using Обработка 2.1 + Android SDK Tools 18 обновлено до -> 20 –

Смежные вопросы