28587


eclipse+ADTの環境で作成したプロジェクトがあり、そのプロジェクトをAndroid
Studioにインポートしてビルドを行うと、「クラスandroid.support.v4.preferencefragment.Rが重複しています」というエラーが発生しており、原因が分からず困っています。

なお、プロジェクトは1年ほど前にeclipse+ADTで開発していたものです。  
eclipse+ADTの環境では問題なくビルドが出来て、ビルド後のアプリも正常に動作しています。  
1年間ほど開発から離れておりましたが、開発を再開しようとしたところ、eclipse+ADTの環境はもうサポートされていないとのことでしたので、Android
Studioに移行しようとしているところです。

eclipse+ADTとAndroid Studioの実行環境は共にWindows上です。  
Android Studioは、android-studio-bundle-143.2915827-windows.exe をインストールしました。

当方、問題の起こるプロジェクトとは別に、eclipse+ADTで作成した非常にシンプルなプロジェクトも持っており、そのプロジェクトはAndroid
Studioにインポートして、正常にビルド出来ることを確認しています。  
ですので、Android Studioのインストールは、正常に行えているものと考えています。

問題の起こるプロジェクトは、古いAndroidにも対応するために、以下のライブラリを使用しています。  
android-support-v4  
android-support-v7-appcompat  
android-support-v4-preferencefragment-master

このプロジェクトをAndroid
Studioでビルドすると、「クラスandroid.support.v4.preferencefragment.Rが重複しています」というエラーが出ます。

プロジェクトのファイルは全て

D:\Home\Project\Android\ShihonViewer\

というフォルダ以下にあるにもかかわらず、エラーが起きているのは

C:\Users\sota\\.AndroidStudio2.1\system\compile-
server\shihonviewer_905f40b5\targets\java-production\android-
support-v4-preferencefragment-
master\android\copied_sources\android\support\v4\preferencefragment\R.java

という全く別のフォルダで起きているのも、私にとっては不可解なところです。

どのような原因が考えられるか、ご教授頂ければ幸いです。

以下に、ビルド時に表示されるログの全部を掲載します。

[code]

    Information:Using javac 1.8.0_101 to compile java sources
    Information:Android Resource Caching: Caching resources [google-play-services_lib]
    Information:Android Resource Caching: [google-play-services_lib] Crunching PNG Files in source dir: D:\Home\Project\Android\ShihonViewer\google-play-services_lib\res
    Information:Android Resource Caching: [google-play-services_lib] To destination dir: C:\Users\sota\.AndroidStudio2.1\system\compile-server\shihonviewer_905f40b5\android\res_cache\google-play-services_lib
    Information:Android Resource Caching: Caching resources [android-support-v7-appcompat]
    Information:Android Resource Caching: [android-support-v7-appcompat] Crunching PNG Files in source dir: D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res
    Information:Android Resource Caching: [android-support-v7-appcompat] To destination dir: C:\Users\sota\.AndroidStudio2.1\system\compile-server\shihonviewer_905f40b5\android\res_cache\android-support-v7-appcompat
    Information:java: Errors occurred while compiling module 'ShihonViewer,android-support-v4-preferencefragment-master'
    Information:Modules "android-support-v7-appcompat", "android-support-v4-preferencefragment-master", "ShihonViewer", "google-play-services_lib" were fully rebuilt due to project configuration/dependencies changes
    Information:Some files were changed during the build. Additional compilation may be required.
    Information:2016/08/29 22:05 - Compilation completed with 1 error and 51 warnings in 6s 884ms
    Warning:Android Resource Caching: [android-support-v7-appcompat] D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res\drawable-hdpi\abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    Warning:Android Resource Caching: [android-support-v7-appcompat] D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res\drawable-hdpi\abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    Warning:Android Resource Caching: [android-support-v7-appcompat] D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res\drawable-hdpi\abc_spinner_mtrl_am_alpha.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    Warning:Android Resource Caching: [android-support-v7-appcompat] D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res\drawable-mdpi\abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    Warning:Android Resource Caching: [android-support-v7-appcompat] D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res\drawable-xhdpi\abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    Warning:Android Resource Caching: [android-support-v7-appcompat] D:\Home\Project\Android\ShihonViewer\android-support-v7-appcompat\res\drawable-xhdpi\abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
    C:\Users\sota\.AndroidStudio2.1\system\compile-server\shihonviewer_905f40b5\targets\java-production\android-support-v4-preferencefragment-master\android\copied_sources\android\support\v4\preferencefragment\R.java
    Error:(10, 14) java: クラスandroid.support.v4.preferencefragment.Rが重複しています
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\MainActivity.java
    Warning:(14, 24) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(764, 25) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\BarcodeActivity.java
    Warning:(22, 24) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(23, 24) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(23, 31) java: android.hardware.Cameraのandroid.hardware.Camera.AutoFocusCallbackは非推奨になりました
    Warning:(24, 24) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(24, 31) java: android.hardware.Cameraのandroid.hardware.Camera.CameraInfoは非推奨になりました
    Warning:(25, 24) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(25, 31) java: android.hardware.Cameraのandroid.hardware.Camera.PreviewCallbackは非推奨になりました
    Warning:(45, 13) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(116, 37) java: android.view.SurfaceHolderのSURFACE_TYPE_PUSH_BUFFERSは非推奨になりました
    Warning:(116, 15) java: android.view.SurfaceHolderのsetType(int)は非推奨になりました
    Warning:(222, 13) java: android.hardware.Cameraのandroid.hardware.Camera.AutoFocusCallbackは非推奨になりました
    Warning:(222, 55) java: android.hardware.Cameraのandroid.hardware.Camera.AutoFocusCallbackは非推奨になりました
    Warning:(228, 50) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(245, 13) java: android.hardware.Cameraのandroid.hardware.Camera.PreviewCallbackは非推奨になりました
    Warning:(245, 51) java: android.hardware.Cameraのandroid.hardware.Camera.PreviewCallbackは非推奨になりました
    Warning:(251, 49) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(299, 27) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(346, 28) java: android.view.DisplayのgetWidth()は非推奨になりました
    Warning:(347, 29) java: android.view.DisplayのgetHeight()は非推奨になりました
    Warning:(362, 33) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(362, 39) java: android.hardware.Cameraのandroid.hardware.Camera.Parametersは非推奨になりました
    Warning:(368, 14) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(368, 20) java: android.hardware.Cameraのandroid.hardware.Camera.Sizeは非推奨になりました
    Warning:(383, 13) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(383, 19) java: android.hardware.Cameraのandroid.hardware.Camera.Sizeは非推奨になりました
    Warning:(392, 9) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(392, 15) java: android.hardware.Cameraのandroid.hardware.Camera.Parametersは非推奨になりました
    Warning:(398, 45) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(398, 51) java: android.hardware.Cameraのandroid.hardware.Camera.Parametersは非推奨になりました
    Warning:(399, 45) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(399, 51) java: android.hardware.Cameraのandroid.hardware.Camera.Parametersは非推奨になりました
    Warning:(415, 25) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(416, 9) java: android.hardware.Cameraのandroid.hardware.Camera.CameraInfoは非推奨になりました
    Warning:(416, 37) java: android.hardware.Cameraのandroid.hardware.Camera.CameraInfoは非推奨になりました
    Warning:(418, 13) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(419, 38) java: android.hardware.Cameraのandroid.hardware.Camera.CameraInfoは非推奨になりました
    Warning:(426, 17) java: android.hardwareのandroid.hardware.Cameraは非推奨になりました
    Warning:(427, 42) java: android.hardware.Cameraのandroid.hardware.Camera.CameraInfoは非推奨になりました
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\DetailPageAdapter.java
    Warning:(230, 74) java: android.content.res.ResourcesのgetDrawable(int)は非推奨になりました
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\SinglePictureLoader.java
    Warning:(62, 44) java: android.content.res.ResourcesのgetDrawable(int)は非推奨になりました
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\BeepPlayer.java
    Warning:(39, 22) java: android.media.SoundPoolのSoundPool(int,int,int)は非推奨になりました
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\SearchTask.java
    Warning:(96, 47) java: android.content.res.ResourcesのgetDrawable(int)は非推奨になりました
    D:\Home\Project\Android\ShihonViewer\ShihonViewer\src\jp\gr\java_conf\j_sota\shihonviewer\PictureLoader.java
    Warning:(96, 44) java: android.content.res.ResourcesのgetDrawable(int)は非推奨になりました
    
[/code]

重複しているとされる R.java は、以下のようなファイルです。

[code]

    /* AUTO-GENERATED FILE.  DO NOT MODIFY.
     *
     * This class was automatically generated by the
     * aapt tool from the resource data it found.  It
     * should not be modified by hand.
     */
    
    package android.support.v4.preferencefragment;
    
    public final class R {
        public static final class attr {
        }
        public static final class dimen {
            /**  Preference fragment padding, bottom 
     Preference fragment padding, bottom 
             */
            public static int preference_fragment_padding_bottom=0x7f030000;
            /**  Preference fragment padding, sides 
     Preference fragment padding, sides 
     Preference fragment padding, sides 
             */
            public static int preference_fragment_padding_side=0x7f030001;
        }
        public static final class id {
            public static int back_button=0x7f060001;
            public static int button_bar=0x7f060000;
            public static int next_button=0x7f060003;
            public static int skip_button=0x7f060002;
        }
        public static final class integer {
            public static int preference_fragment_scrollbarStyle=0x7f040000;
        }
        public static final class layout {
            public static int preference_list_fragment=0x7f020000;
        }
        public static final class string {
            /**   Strings for possible PreferenceActivity Back/Next buttons 
             */
            public static int back_button_label=0x7f050000;
            public static int next_button_label=0x7f050001;
            /**  Optional button to Skip a PreferenceActivity [CHAR LIMIT=20] 
             */
            public static int skip_button_label=0x7f050002;
        }
    }
    
[/code]

以上よろしくお願いします。


CC BY-SA 3.0
2016-08-29T14:00:06.477
28559
2016-08-30T12:40:57.717
8718
question
android android-studio eclipse
eclipse+ADTで作成したプロジェクトをAndroid Studioにインポートすると、ビルドが失敗する


自己回答です。  
何週間も悩んでいたのに、ここに質問を書いた翌日に問題点を見つけることが出来ました。

起きていた問題点は、プロジェクトの設定での依存関係で、メインのコードは  
android-support-v4-preferencefragment-master  
を必要とするとしており、さらに、android-support-v4-preferencefragment-
masterはメインのコードを必要とするという風に、依存関係が循環していたことに寄るものでした。

依存関係を整理したところ、上記の重複のエラーは起こらなくなりました。

ただ、今度は別の問題が発生しており、現在はそれを調査中です。  
新しく発生した問題は、以下のようなものです。

[code]

    Error:Android Dex: [ShihonViewer] Unable to execute DX
    Error:Android Dex: [ShihonViewer] com.android.dex.DexException: Multiple dex files define Landroid/support/v4/preference/PreferenceFragment$1;
    Error:Android Dex: [ShihonViewer] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579)
    Error:Android Dex: [ShihonViewer] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535)
    Error:Android Dex: [ShihonViewer] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517)
    Error:Android Dex: [ShihonViewer] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164)
    Error:Android Dex: [ShihonViewer] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
    Error:Android Dex: [ShihonViewer] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504)
    Error:Android Dex: [ShihonViewer] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
    Error:Android Dex: [ShihonViewer] at com.android.dx.command.dexer.Main.run(Main.java:277)
    Error:Android Dex: [ShihonViewer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    Error:Android Dex: [ShihonViewer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    Error:Android Dex: [ShihonViewer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    Error:Android Dex: [ShihonViewer] at java.lang.reflect.Method.invoke(Method.java:498)
    Error:Android Dex: [ShihonViewer] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:188)
    Error:Android Dex: [ShihonViewer] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:336)
    
[/code]


CC BY-SA 3.0
2016-08-30T12:40:57.717
28587
2016-08-30T12:40:57.717
8718
28559
answer