2014-01-26 5 views
0

Im следуя Android Учебник по адресу:Как правильно добавить библиотеку поддержки в Android Studio 0.4.2

http://developer.android.com/training/basics/actionbar/setting-up.html

Im на части, где мы добавим панель действий. Я получаю ошибки на каждом шагу.

1) Первый В учебнике первым говорит, чтобы добавить этот

<uses-sdk android:minSdkVersion="11" ... /> 

, а затем говорит, чтобы добавить это:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" /> 

в конце. Так что это должно быть?

2) Во-вторых Другая проблема заключается в том, что когда я добавляю:

public class MainActivity extends ActionBarActivity { ... } 

Я получаю ошибку о том, не может решить символ ActionBarActivity.

Так я иду, чтобы настроить библиотеку:

http://developer.android.com/tools/support-library/setup.html

Я уже скачал библиотеку поддержки. У меня есть 2 файла build.gradle. Тот, который я считаю правильным, находится на том же уровне, что и SRC, а не внутри него. И, похоже, это в конце концов:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.7.+' 
    } 
} 

allprojects { 
    repositories { 
     mavenCentral() 
    } 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:18.0.+' 
    // this is for your application 
} 

, а затем это импорт MainActivity:

import android.app.ActionBar; 
import android.support.v7.app.ActionBar; 

Но слово поддержки во втором импорта в красном цвете и не могут быть решены

Не удалось выполнить метод compile() для аргументов [com.android.support:appcompat-v7:18.0.+] в корневом проекте.

3) Третий Когда я изменяю свою тему к этому:

<activity android:theme="@style/Theme.AppCompat.Light" ... > 

я получаю не может решить эту линию.

4) Четвертый Наконец, так как я изменил мой MainActivity распространяется на ActionBarActivity, в файле манифеста я получаю красную линию под:

 android:name="com.example.myfirstapp.MainActivity" 

предположительно потому, что класс теперь имеет ошибку.

Учебники, похоже, не актуальны.

Im получаю эту ошибку, связанную с ActionBarActivity ... enter image description here

+0

С последней андроид студии, создать новый (временный) проект. Он предложит вам возможность использовать приложение compat и будет правильно вставлять все зависимости. Также не забудьте закрыть/повторно открыть (или перестроить из Gradle для обновления зависимостей) –

+0

Хорошо, как мне перестроить из градиента? Перестроить проект или проект синхронизации с помощью файлов градиентов? – marciokoko

+0

Sync Project W/Gradle Files. –

ответ

0

в конце. Так что это должно быть?

ActionBar вводится в уровне API 11 так

если вы поддерживаете уровень API ниже, чем 11:

<uses-sdk android:minSdkVersion="7" ../> //like supporting API level 7 and above 

Как ActionBar не входит в API для того, чтобы использовать вам нужно добавить библиотеку поддержки в зависимости от вашего проекта.

и ваш импорт будет как

android.support.v7.app.ActionBar 

Если вы поддерживаете только уровень API 11 и выше:

<uses-sdk android:minSdkVersion="11" ../> 

Ничто другое не должно быть сделано. Вы можете использовать классы, такие как ActionBar, с API (уровень 11 и выше).

и ваш импорт будет как

android.app.ActionBar 

Его ясно сказано в документе вашей ссылкой.

Примечание: В Gradle системе сборки minSdkVersion и targetSdkVersion, определенной в AndroidManifest будут переопределены, что вы определяете в build.gradle файле вашего модуля. Таким образом, определяют их в build.gradle файл не показан.

Для добавления поддержки зависимостей в проекте передать этот

ActionBarActivity cannot resolve a symbol

+0

После добавления: import android.support.v7.app.ActionBarActivity; , который нигде в учебнике, как и import android.widget.TextView не входит в учебник при добавлении SecondActivity. Но я не буду жаловаться, я знаю, как сложно держать учебники в актуальном состоянии. :) – marciokoko

1

Вам нужно добавить зависимость Maven в gradle.build вашего модуля не gradle.build проекта. Это самый внутренний файл gradle.build. Затем вы должны нажать кнопку «Sync Project with Gradle Files».Он должен выглядеть примерно так:

apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.0.1' 

    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 19 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:19.0.1' 
} 

Это предполагает, что у вас установлены новейшие инструменты сборки.

+2

Хорошо, он по-прежнему дает мне активность, ActionBar & v7.app.ActionBar импортирует как неиспользуемый. Он не может разрешить слово приложения v7.app.ActionBar или ActionBarActivity, расширяющее класс MainActivity и несколько других. – marciokoko

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