2

Я стартер в разработке Android и в настоящее время действительно застрял в реализации actionbarsherlock. Я знаю, что это обсуждалось ранее, но я очень запутался в отношении зависимостей и как настроить структуру проекта. Я пробовал следовать всем инструкциям, но это не работает. У меня проблема с градиентом. Я использую Android Studio 0.2.0.Реализация ActionBarSherlock, ошибка градиента

Моя текущая ошибка говорит:

>Gradle 'MyAppProject' project refresh failed: 
>Could not fetch model of type 'IdeaProject' using Gradle distribution "http://services.gradle.org/distributions/gradle-1.6-bin.zip". 
>Error: Gradle: A problem occurred configuring project ':MyApp'. 
>Failed to notify project evaluation listener. 
>A problem occurred configuring project ':Libraries:ActionBarSherlock'. 
>Failed to notify project evaluation listener. 
>Main Manifest missing from C:\Users\JJ2\AndroidStudioProjects\MyAppProject\Libraries\ActionBarSherlock\src\main\AndroidManifest.xml 

Мой проект строится следующим образом:

-MyAppProject 
|+.idea 
|+gradle 
|-Libraries 
||-ActionBarSherlock 
|||+gen 
|||+libs 
|||+res 
|||-src 
||||-android.support.v4.app 
|||||-Watson 
||||+com.actionbarsherlock 
|||-ActionBarSherlock.iml 
|||-AndroidManifest.xml 
|||-build.gradle 
|||-lint.xml 
|||-pom.xml 
|||-project.properties 
|||-README.md 
|-MyApp 
||+build 
||+libs 
||-src 
|||-main 
||||-java 
|||||+com.mywebsite.myapp 
||||+res 
||||-AndroidManifest.xml 
||||-ic_launcher-web.png 
||-build.gradle 
||-MyApp.iml 
|-build.gradle 
|-gradlew 
|-gradlew.bat 
|-local.properties 
|-settings.gradle 
|-MyAppProject.iml 
-External Libraries 
|-<Android 4.2.2> 
||+android.jar 
||+annotations.jar 
||+res 

от содержания build.gradle в MyAppProject каталоге:

task assemble{} 

build.gradle в каталоге MyApp:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.0' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile project(":Libraries:ActionBarSherlock") 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 17 
    } 
} 

И build.gradle в каталоге Библиотеки \ ActionBarSherlock:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.0' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile files('libs/android-support-v4.jar') 

} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 17 
    } 
} 

Наконец, моя структура проекта выглядит следующим образом:

Модули

-ActionBarSherlock (Dependencies: Android 4.2.2, [v]android-support-v4) 
    -Android 
-MyApp    (Dependencies: Android 4.2.2, [ ]ActionBarSherlock) 
    -Android 
    -Android-Gradle 
-MyAppProject  (Dependencies: Android 4.2.2) 
    -Android-Gradle 

Библиотеки

None 

Глобальные библиотеки

-android-support-v4 (Classes: ...\MyAppProject\MyApp\libs\android-support-v4.jar) 

Я надеюсь, что кто-то может заметить, ничего плохого с кодом, хотя многие люди, кажется, uresolved проблемы с новой версией Android Studio. Спасибо заранее!

ответ

3

Top каталог settings.gradle:

include ':MyApp', ':Libraries:ActionBarSherlock' 

включает в себя любой другой LIBS вы можете войти в свой проект

Лучшие build.gradle каталога: его хорошо с задачей собрать {}

Actionbar sherlock build.gradle

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile 'com.android.support:support-v4:13.0.0' 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 16 
    } 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 
    } 
} 

Кроме того, во все .gradle файлов, которые Gradle версии установлен: заменить везде Gradle версии:

classpath 'com.android.tools.build:gradle:0.5.+' 

Android 2.x студия использует Gradle 0.5.x, и с помощью + вы сохраните свой град в актуальном состоянии (они обновили его до 2 дней, и у нас есть частые обновления!)

Ваши настройки градиента теперь будут в порядке! Note1: Любые другие ошибки могут возникать из файлов iml./idea ... Вы можете попробовать изменить их в настройках проекта Studio, например, установить исходные файлы для каждого модуля (sherlock, MyApp), их библиотеки и т. Д.!

Примечание 2: Кроме того, если вы используете некоторые другие библиотеки, что требует более высокой версии SDK, чем приложение, вы можете получить сообщение об ошибке, без объяснения!

+0

Большое спасибо за ваш ответ! Я забыл включить контент settings.gradle, который, как вы описали. Вероятно, другие замечания были необходимы. К сожалению, я начал возиться с настройками Project-> Gradle, и теперь я все время получаю сообщение об ошибке: Обновление проекта Gradle 'WallPainterProject': не удалось установить распределение Gradle из 'http://services.gradle.org/distributions/ gradle-1.6-bin.zip. Gradle distribution 'C: \ Users \ JJ2 \ .gradle \ wrapper \ dists \ gradle-1.6-bin \ 72srdo3a5eb3bic159kar72vok' содержит слишком много каталогов. Ожидается, что вы найдете ровно 1 каталог. –

+1

Кажется, я не могу найти пример правильной настройки свойств градиента. Я был бы очень признателен, если бы вы или кто-то еще могли опубликовать пример нормальной настройки и каталога, в котором находится градация. И я бы дал вам +1, но я еще не собрал достаточную карму, а еще и ха-ха. –

+0

добро пожаловать! Чтобы иметь нормальную настройку, просто создайте новый пустой проект с изменениями .gradle, указанными выше. Я столкнулся с некоторыми проблемами с установкой gradle (он полностью не загрузил двоичные файлы градиента) ... Я пошел в тот каталог, который вы написали, и удалил некоторые блокировки и поврежденные файлы! Перейдите сюда: http://services.gradle.org/distributions/gradle-1.6-bin.zip, загрузите его и перейдите в каталог gradle1.6-bin/72 .... /, а затем вставьте его и извлеките его! Он работает сейчас? – Paschalis

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