AndroidStudioのコンパイルについて

1,271 views
Skip to first unread message

リックス

unread,
Jun 23, 2015, 4:17:07 PM6/23/15
to android-g...@googlegroups.com
おはようございます
リックスです

EclipseからAndroidStudioに移行してきて
まだすこし、AndroidStuidoに慣れていません
なんとかファイルを取り込んで、ファイルを修正し、コンパイルするところまで
いきました。

しかし、エラーが出て、動作確認ができません
どこがおかしいのでしょうか?
アドバイスいただけないでしょうか?

エラーコードは以下のとおりです






動作環境
Mac Book Pro
AndroidStudio 1.2.2

--
------------------------------------------------------------------------------------
〒630-8304
奈良県奈良市南肘塚町49-19
栢本 博文(かやもと ひろふみ)
090-5244-1408
--------------------------------------------------------------------------------------

Jun Shiozawa

unread,
Jun 30, 2015, 11:38:57 PM6/30/15
to android-g...@googlegroups.com
 僕も似たような状況です。

Eclipse ADTでは
仮にAntの知識が全くない人でも
Androidアプリの
一通りのビルドは可能でした。

Android Studioではそれすらできません。

Google社はすでにEclipse ADTの公式サポートを終了しているとお聞きしていますし

Google社のGradleのゴリ押しによりAndroidは開発ハードルの高いプラットフォームになってしまいました。

日本語のAndroid関連の書籍・WebサイトはまだまだEclipse ADT前提での解説が多く
日本語のAndroid Studio関連のWebサイトもまだまだAndroid Studio 0.x.x時代の解説が多いです。

日本語のPure Java向けのGradleの解説はあっても

日本語のPure Java向けのGradleのコマンドラインの解説はあっても

日本語のAndroid Studio向けGradleプラグインのコマンドラインの解説はあっても

日本語の「res・raw・assetsディレクトリの場所はAndroid Studio向けGradleでどのように記述したらよいのか」
の解説が見当たりません。

日本語の
「とにかくGradle関連のファイルに何を記述すればAndroid Studioでコンパイルが通り動作実験・Google Playでの配布まで可能なのか」
の解説が見当たりません。

ご存知の方、いらっしゃいますでしょうか?

2015年6月24日水曜日 5時17分07秒 UTC+9 リックス:
おはようございます
リックスです

EclipseからAndroidStudioに移行してきて
まだすこし、AndroidStuidoに慣れていません
なんとかファイルを取り込んで、ファイルを修正し、コンパイルするところまで
いきました。

しかし、エラーが出て、動作確認ができません
どこがおかしいのでしょうか?
アドバイスいただけないでしょうか?

エラーコードは以下のとおりです






動作環境
Mac Book Pro
AndroidStudio 1.2.2

--
------------------------------------------------------------------------------------
〒630-8304
奈良県奈良市南肘塚町49-19
栢本 博文(かやもと ひろふみ)
090-5244-1408
--------------------------------------------------------------------------------------

Keiji Ariyama

unread,
Jul 1, 2015, 2:20:49 AM7/1/15
to android-g...@googlegroups.com
有山と申します。

Android Studioは、Eclipse(ADT)のプロジェクトのインポート(変換)に対応しています。
もしそれで上手くいかない。どう変わったかが知りたいと言うことであれば、一度、Android Studioで新規プロジェクトを作成してから、どんな構成になっているかを眺めてみるのが早いと思います。

開発環境に変化があるのは、技術の世界では普通にあることですし、それに対応していくのも必要なことだと思います。

現在のAndroid Studioは、ADTと比べても遜色ないほど安定していますよ。


有山

2015年7月1日水曜日 12時38分57秒 UTC+9 Jun Shiozawa:

大澤敏久

unread,
Jul 1, 2015, 3:33:47 AM7/1/15
to android-g...@googlegroups.com
リックスさん

はじめまして、大澤と申します。

とりあえず、EclipseのプロジェクトをAndroid Studioへインポートする方法は下記のURLに記載されて
います。

役にたたないと思いますが、とりあえず参考に。。。

<http://techbooster.org/android/environment/16158/>

以上、宜しくお願い致します。

2015年7月1日 15:20 Keiji Ariyama <keiji_...@c-lis.co.jp>:
> --
> このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> android-group-j...@googlegroups.com にメールを送信してください。
> このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Jun Shiozawa

unread,
Jul 6, 2015, 6:46:28 AM7/6/15
to android-g...@googlegroups.com
試行錯誤の末

コンパイルがうまくいった方法

Android Studioの「Start a new Android Studio project」から
API Level 16(Android4.1.2)でプロジェクトを新規作成し、
「Project Structure」で「JDK location」を
「/usr/lib/jvm/java-7-openjdk-amd64」に
「Project Structure」で「Source Compatibility」を「1.7」に
「Project Structure」で「Target Compatibility」を「1.7」に
「OK」をクリック。
その後Android Studio側で「Project Structure」などで
API Levelを変更しない状態でDebugボタン。

この方法でコンパイル後に緑色の吹き出しが出ました。


コンパイルがうまくいかなかった方法1

Android Studioの「Start a new Android Studio project」から
API Level 10(Android2.3.3)でプロジェクトを新規作成したら、
すでにこの段階でGradleが大量のエラーを出しました。
「Project Structure」で「JDK location」を
「/usr/lib/jvm/java-7-openjdk-amd64」に
「Project Structure」で「Source Compatibility」を「1.6」に
「Project Structure」で「Target Compatibility」を「1.6」に
「OK」をクリック。
その後Android Studio側で「Project Structure」などで
API Levelを変更しない状態でDebugボタン。

この方法でコンパイル後に赤色の吹き出しが出ました。


コンパイルがうまくいかなかった方法2

Android Studioの「Start a new Android Studio project」から
API Level 10(Android2.3.3)でプロジェクトを新規作成し、
すでにこの段階でGradleが大量のエラーを出し、
「Project Structure」で「JDK location」を
「/usr/lib/jvm/java-7-openjdk-amd64」に
「Project Structure」で「Source Compatibility」を「1.7」に
「Project Structure」で「Target Compatibility」を「1.7」に
その後Android Studio側で「Project Structure」で
API LevelをAPI Level 16(Android4.1.2)に「あとから」変更。
「OK」をクリック。
この状態でDebugボタン。

この方法でコンパイル後に赤色の吹き出しが出ました。


以上の実験結果から
API Level 10(Android2.3.3)は
Android Studioが自動生成するコードに対応できないのではないか、
という仮説を導きました。

Android Studioで
API Level 10でプロジェクト作成後にAPI Level 16に「あとから」変更しても
コンパイルが通らないのも厳しいですね。

Android Studioの「Start a new Android Studio project」から
API Level 16(Android4.1.2)でプロジェクトを新規作成した場合は
コンパイルが通りましたが
API Level 15では未実験です。


2015年7月1日水曜日 15時20分49秒 UTC+9 Keiji Ariyama:

Jun Shiozawa

unread,
Jul 7, 2015, 9:54:32 AM7/7/15
to android-g...@googlegroups.com
コンパイルがうまくいかなかった方法3


Android Studioの「Start a new Android Studio project」から
API Level 10(Android2.3.3)
でプロジェクトを新規作成したら、
すでにこの段階でGradleが大量のエラーを出しました。
「Project Structure」で「JDK location」を
「/usr/lib/jvm/java-7-openjdk-amd64」に
「Project Structure」で「Source Compatibility」を「1.7」に
「Project Structure」で「Target Compatibility」を「1.7」に
「OK」をクリック。
その後Android Studio側で「Project Structure」などで
API Levelを変更しない状態でDebugボタン。

この方法でコンパイル後に赤色の吹き出しが出ました。


4件の実験はすべてHellow World的なプログラムで実験を行いましたが


1件のコンパイルがうまくいった方法
3件のコンパイルがうまくいかなかった方法
を総合すると

Android Studioは
昔のAPI Level(Android2.3.3など昔のAndroid機)向けの開発に事実上
対応していないのではないか、

という仮説が生まれます。

この仮説を否定できる情報をお持ちのかた、いらっしゃいますでしょうか。


2015年7月6日月曜日 19時46分28秒 UTC+9 Jun Shiozawa:

Jun Shiozawa

unread,
Sep 19, 2015, 12:38:09 PM9/19/15
to 日本Androidの会
試行錯誤の末Android Studio 1.3.2でのAndroid 2.3.3向けのコンパイルがうまくいきました。

スマホ実機でのUSBデバッグにも成功しました。

結論から言うとAndroid Studioのプロジェクトの新規作成のウィザードは
Android 2.3.3向けのJavaコードやXMLを自動生成できない

Android Studioのプロジェクトの新規作成のウィザードは
Android 2.3.3向けのコードを自動生成しようとするが
コンパイルエラーになるJavaコードやXMLを自動生成する

本題にはいりますが

Android StudioでのAndroid 2.3.3向けのコンパイルに成功するためには

Android Studioで

Project Structureのデフォルト設定で
JDK Locationを
必ずJDK6に
JDK7以降ではダメ

(あらかじめJDK6のインストールは当然必要)

JDK7に対応できるのはAndroid4.4.4以降

Android 2.3.3(API Level 10)以外のAndroid SDKをすべてアンインストールする
Android 4系など他のAPI LevelのAndroid SDKがインストールされている場合は
プロジェクトの新規作成の挙動がおかしくなる

この状態になったら

Welcome to Android Studio画面から

Start a new Android Studio projectを

Phone and Tabletのチェックボックスをオンにして
Minimum SDKはAPI 10: Android 2.3.3(Gingerbread)を

Blank Activityを

Finishを

プロジェクトが新規作成されるが直ちに
Gradleのsyncは大量のエラーを吐き出す

プロジェクトが新規作成直後に
大量のエラーを吐き出すので

プロジェクト名/app/res/から
layout
menu
values
この3つのフォルダ内のファイルを
すべてSafe DeleteとSearch in comments and stringsのチェックボックスをオンにして削除

プロジェクトのapp(モジュール)のmanifestsから
AndroidManifest.xmlをダブルクリックして編集
プロジェクト名/app/res/values/strings.xml依存のもの(android:labelやandroid:themeなど値が赤字で表示されるもの合計3件)を変更or 削除

MainActivity.javaからonCreate以外のメソッドを削除

public class MainActivity extends ActionBarActivity を
public class MainActivity extends Activity に変更

import android.support.v7.app.ActionBarActivity;を
import android.app.Activity;に変更

setContentView(R.layout.activity_main); を
setContentView(new android.view.Viewを継承したクラス(this)); に変更

android.view.Viewを継承したクラスを自作(HelloWorld的なシンプルなものでよい)

build.gradle(Module: app)の

compileSdkVersion 10
minSdkVersion 10
targetSdkVersion 10

を確認する

build.gradle(Module: app)の

dependenciesの

compile 'com.android.support:appcompat-v7:23.0.1'

の行を削除(23.0.1の部分は適宜読み替える)

Gradleのsyncを行う

成功

実機でのUSBデバッグ

実機での動作に成功(コンパイル成功)

もう疲れたよ・・・


2015年7月7日火曜日 22時54分32秒 UTC+9 Jun Shiozawa:

Jun Shiozawa

unread,
Sep 19, 2015, 12:42:57 PM9/19/15
to 日本Androidの会
誤:JDK7に対応できるのはAndroid4.4.4以降
正:JDK7に対応できるのはAndroid4.4.0以降

2015年9月20日日曜日 1時38分09秒 UTC+9 Jun Shiozawa:

Jun Shiozawa

unread,
Sep 27, 2015, 11:40:52 PM9/27/15
to 日本Androidの会
Android Studioのプロジェクトの新規作成ウィザードで自動生成されるコードがコンパイルエラーの状態になるのは主にこのファイルが元凶のようです

AndroidStudioProjectsまでのパス/AndroidStudioProjects/プロジェクト名/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v21/values-v21.xml

このxmlファイルが悪さをしているようです
Android Studioのプロジェクトの新規作成ウィザードで自動生成された直後の状態でこのxmlファイルがコンパイルエラーを示す赤字だらけです

Android Studioにこのようなバグが残っていると
Android Studioでのサポートライブラリの使用も考えものですね・・・

2015年9月20日日曜日 1時42分57秒 UTC+9 Jun Shiozawa:

Hirokazu Fukami

unread,
Sep 27, 2015, 11:52:59 PM9/27/15
to 日本Androidの会
こんにちはfkmです

appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
compileSdkVersionを23以上にする必要があります。

セキュリティの観点などから、最新のライブラリをなるべく使うべきで、
最新のライブラリ提案をAndroid Studioのバグというのは正しくないとfkmは考えます。




--

j

unread,
Oct 23, 2015, 8:37:38 PM10/23/15
to android-g...@googlegroups.com
Hirokazu Fukamiさま
ご回答ありがとうございます

> appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
> compileSdkVersionを23以上にする必要があります。


compileSdkVersionを23以上にする必要があるのなら
Android2.x向けには開発できないわけで
appcompat-v7などサポートライブラリは事実上使用できません

日本のスマホ市場特有の事情かもしれませんが
ローンを組んでスマホを購入する人が多い現状では
商業的な理由からAndroid2.xにも対応させなければなりません
僕はAndroid Studioの
プロジェクトの新規作成ウィザードが提示する
Androidのバージョン別の普及率を信用していません
前述のローンを組んでスマホを購入する人が多い現状から
日本市場の場合はバージョン別の普及率が違うと推測します

例えば
compileSdkVersionを23以上
minSdkVersionを10の組み合わせで
Android2.3.3の実機でも動作するのでしょうか?

Android Studio 日本語の情報が少なすぎる(>_<)

Jun Shiozawa

unread,
Oct 23, 2015, 9:55:01 PM10/23/15
to 日本Androidの会
自己レスです(前回レスのコピーを含む)


Hirokazu Fukamiさま
ご回答ありがとうございます

 > appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
 > compileSdkVersionを23以上にする必要があり

    ます。

例えば
compileSdkVersionを23以上
minSdkVersionを10の組み合わせで
Android2.3.3の実機でも動作するのでしょうか?

https://github.com/mixi-inc/AndroidTraining/wiki/1.03.-Android%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90-%28-Android-Studio-%29

ここのCompile Withの解説を見る限りダメなのでしょうね

Support Modeとやらの設定はAndroid Studioのどこにあるのでしょうか?

Android Studioのプロジェクトの新規作成ウィザードは
例えばフルスクリーンのActivityを指定しようとすると
Nextがグレーアウトして
「Selected activity template has a minimum SDK level of 11.」
(あなたがプロジェクトの新規作成ウィザードで指定したminimum SDKではこのactivityは使えませんよ)
と警告してきます(英語で)

前回レスでも述べたように

日本のスマホ市場特有の事情かもしれませんが
ローンを組んでスマホを購入する人が多い現状では
商業的な理由からAndroid2.xにも対応させなければなりません

あいかわらずAndroid StudioはダメIDEですね

前回レスのコピー

 > appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
 > compileSdkVersionを23以上にする必要があり

    ます。



    compileSdkVersionを23以上にする必要があるのなら
    Android2.x向けには開発できないわけで
    appcompat-v7などサポートライブラリは事実上使用できません

    日本のスマホ市場特有の事情かもしれませんが
    ローンを組んでスマホを購入する人が多い現状では
    商業的な理由からAndroid2.xにも対応させなければなりません
    僕はAndroid Studioの
    プロジェクトの新規作成ウィザードが提示する
    Androidのバージョン別の普及率を信用していません
    前述のローンを組んでスマホを購入する人が多い現状から
    日本市場の場合はバージョン別の普及率が違うと推測します

    例えば
    compileSdkVersionを23以上
    minSdkVersionを10の組み合わせで
    Android2.3.3の実機でも動作するのでしょうか?

    Android Studio 日本語の情報が少なすぎる(>_<)

2015年10月24日土曜日 9時37分38秒 UTC+9 Jun Shiozawa:
>> android-group-japan+unsub...@googlegroups.com にメールを送信してください。
>> このグループに投稿するには android-group-japan@googlegroups.com にメールを送信してください。

Jun Shiozawa

unread,
Oct 23, 2015, 10:49:17 PM10/23/15
to 日本Androidの会
再び自己レスです(前回・前々回レスのコピーを含む)

サポートライブラリがv7を名乗る以上
サポートライブラリ自身は
API Level 7 に対応しているのでしょう

しかし前回レスのウィザードの
警告・エラーメッセージから考えて

Android Studioが自動生成するtemplateが
API Level 7 に対応できないのでしょう

本当にAndroid StudioはダメIDEですね

前回レスのコピー


Hirokazu Fukamiさま
ご回答ありがとうございます

 > appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
 > compileSdkVersionを23以上にする必要があり

    ます。

例えば
compileSdkVersionを23以上
minSdkVersionを10の組み合わせで
Android2.3.3の実機でも動作するのでしょうか?

https://github.com/mixi-inc/AndroidTraining/wiki/1.03.-Android%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90-%28-Android-Studio-%29

ここのCompile Withの解説を見る限りダメなのでしょうね

Support Modeとやらの設定はAndroid Studioのどこにあるのでしょうか?

Android Studioのプロジェクトの新規作成ウィザードは
例えばフルスクリーンのActivityを指定しようとすると
Nextがグレーアウトして
「Selected activity template has a minimum SDK level of 11.」
(
あなたがプロジェクトの新規作成ウィザードで指定したminimum SDKではこのactivityは使えませんよ)
と警告してきます(英語で)

前々回レスでも述べたように


日本のスマホ市場特有の事情かもしれませんが
ローンを組んでスマホを購入する人が多い現状では
商業的な理由からAndroid2.xにも対応させなければなりません

あいかわらずAndroid StudioはダメIDEですね

前々回レスのコピー


 > appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
 > compileSdkVersionを23以上にする必要があり

    ます。


    compileSdkVersionを23以上にする必要があるのなら
    Android2.x向けには開発できないわけで
    appcompat-v7などサポートライブラリは事実上使用できません

    日本のスマホ市場特有の事情かもしれませんが
    ローンを組んでスマホを購入する人が多い現状では
    商業的な理由からAndroid2.xにも対応させなければなりません
    僕はAndroid Studioの
    プロジェクトの新規作成ウィザードが提示する
    Androidのバージョン別の普及率を信用していません
    前述のローンを組んでスマホを購入する人が多い現状から
    日本市場の場合はバージョン別の普及率が違うと推測します

    例えば
    compileSdkVersionを23以上
    minSdkVersionを10の組み合わせで
    Android2.3.3の実機でも動作するのでしょうか?

    Android Studio 日本語の情報が少なすぎる(>_<)



2015年10月24日土曜日 10時55分01秒 UTC+9 Jun Shiozawa:

Jun Shiozawa

unread,
Oct 23, 2015, 10:56:35 PM10/23/15
to 日本Androidの会
重要な部分ですのでもう一度言います

日本のスマホ市場特有の事情かもしれませんが
ローンを組んでスマホを購入する人が多い現状では
商業的な理由からAndroid2.xにも対応させなければなりません

商業的な理由からAndroid StudioはダメIDEですね
2015年10月24日土曜日 11時49分17秒 UTC+9 Jun Shiozawa:

Makoto Yamazaki

unread,
Oct 23, 2015, 11:24:29 PM10/23/15
to android-g...@googlegroups.com
zaki です。

> > appcompat-v7のバージョン23は、API Level 23向けの設定が含まれているので、
> compileSdkVersionを23以上にする必要があります。


compileSdkVersionを23以上にする必要があるのなら
Android2.x向けには開発できないわけで
appcompat-v7などサポートライブラリは事実上使用できません

compileSdkVersion は動作させる端末のAPIバージョンとは関係ありません。
基本的には常に最新を使用すべきものです。
端末の動作に関係するのは minSdkVersion と targetSdkVersion です。

そのうえで、古いAPI レベルの端末では新しいAPI を使用しないようにコーディングします。
このあたりは開発者が気をつけなくても Android Studio に組み込まれているlint が
適宜警告してくれます。


このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。



--
YAMAZAKI Makoto

Jun Shiozawa

unread,
Oct 24, 2015, 12:53:19 AM10/24/15
to 日本Androidの会
 皆様に不快な思いをさせてしまったことをお詫び申し上げます。
誠に申し訳ございませんでした。

compileSdkVersionを
API Level 23
minimum SDKAPI Level 10
にした設定で
API Level 16のAndroid4.1.2実機で動作しました。

動作しなかった原因として

サポートライブラリv7:23しかインストールされていないのに
API Level 10のSDKやAPI Level 16のSDKのインストールしかしておらず
API Level 23のSDKのインストールをせずに
プロジェクトの新規作成を行ってしまったことが
コンパイルエラーの原因となったようです。

Hirokazu Fukamiさま、誠に申し訳ございませんでした。ありがとうございます。

YAMAZAKI Makotoさま、誠に申し訳ございませんでした。ありがとうございます。

 皆様に不快な思いをさせてしまったことをお詫び申し上げます。
誠に申し訳ございませんでした。

2015年10月24日土曜日 12時24分29秒 UTC+9 zaki:
android-group-japan+unsub...@googlegroups.com にメールを送信してください。

このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。

このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。
このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。



--
YAMAZAKI Makoto
Reply all
Reply to author
Forward
0 new messages