質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

2804閲覧

Android Studio2.3.2でアプリを作成しているのですがとあるエラーに困っています

reo_0819

総合スコア6

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/01/29 17:08

編集2018/01/29 17:11

Android Studio2.3.2でアプリを作成しているのですがとあるエラーに困っています

layoutで[card view]を追加するときに自動で依存関係の追加をしてくれるのですが、下記のようなエラーが出てしまいます。
調べたところマニフェストの合併エラーのようなのですが直し方がわかりません!
力を貸してください!お願いします!

発生している問題・エラーメッセージ

Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:design:26.0.0-alpha1] AndroidManifest.xml:27:9-38 is also present at [com.android.support:cardview-v7:25.3.1] AndroidManifest.xml:24:9-31 value=(25.3.1). Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:25:5-27:41 to override.

Manifests

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.onosereo.myapplication" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme" tools:replace="android:icon" > <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <meta-data android:name="xxx.color" android:value="#FFFFFFFF" tools:replace="android:value" /> </manifest>

Build Gradle

apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "27.0.3" defaultConfig { applicationId "com.example.onosereo.myapplication" minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:26.+' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:design:26.+' testCompile 'junit:junit:4.12' compile 'com.android.support:cardview-v7:25.3.1' }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

compileSdkVersionが26ならば、そのプログラムに用いるサポートライブラリーも26.x.xのものに合わせる必要があります。下記の指定ではそれに適合しないのでエラーになってしまうでしょう。

Gradle

1 compile 'com.android.support:cardview-v7:25.3.1'

それに加えて、API 26以降のサポートライブラリーは、PCにインストールするのではなくネットワーク上のリポジトリーを参照するように仕組みが変更されました。従来は、SDK Managerの中にあるAndroid Support RepositoryというパッケージによってローカルリポジトリーがPCにインストールされていました。ところがGoogleが中途半端なことをしていて、これには26.0.0-alpha1というアルファ版(評価版)まで含まれています。このため、

Gradle

1 compile 'com.android.support:appcompat-v7:26.+'

というワイルドカードによる記述をしてしまうと、この部分については一見ノーエラーで通ってしまいます(エラーメッセージの中に26.0.0-alpha1という表記が見られるのはこのため)。しかし、これで選択されているのはアルファ版ですので、使用するべきではありません(正式版では実装されている機能が実装されていないものもある)。

これらを避けるためには、まずProject全体側のbuild.gradleに

Gradle

1allprojects { 2 repositories { 3 jcenter() 4 maven { url 'https://maven.google.com/' } 5 } 6}

のようにしてネットワーク上のリポジトリーのURLを設定します。

それから、モジュール側のbuild.gradleでは

Gradle

1dependencies { 2 compile 'com.android.support:appcompat-v7:26.1.0' 3 compile 'com.android.support:design:26.1.0' 4 compile 'com.android.support:cardview-v7:26.1.0' 5}

のように、ワイルドカードを用いずcompileSdkVersionに合わせたバージョン番号を設定すれば、問題を回避できるのではないでしょうか。

投稿2018/02/07 08:01

編集2018/02/07 10:22
keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問