[Android] 解決建立專案產生的 appcompat 與其他問題

不知道在哪次的更新,開始了這樣的惡夢。 那天小俊正在重新建置環境時,發生了這個問題,不是新增專案後沒內容,就是會一直不斷出現appcompat_v7的奇怪現象,甚至發生剛抓完ADT後打開Eclipse被告知 Eclipse太舊… 所以在下面筆記一下這困難的問題 XD



小俊想時常在開發的人應該都有穩定的環境,小俊是因為手殘給他更新了,導致發生的狀況整個不知所措。下面是遇到的問題,小俊把它列出來,看到這篇的朋友可以核對一下

  1. 被告知版本太老舊(不管是ADT或Eclipse)
  2. 創建專案後src裡面沒有.java檔案
  3. 創建第二個專案時會重複產生 appcompat_v7 甚至有莫名的錯誤
  4. 自動完成功能失效 (Alt + /)
  5. 專案layout與之前不一樣了

小俊針對以上問題來解決,有更好的方式歡迎回應 🙂

被告知版本太老舊(不管是ADT或Eclipse)

如下圖所示,因為版本不符,導致無法讓 Eclipse 很好的使用 ADT(Android Developer Toolkit)。一般來說直接在 Eclipse上使用 Check for Updates 即可(Help > Check for Updates),或是打開Android SDK Manager查看最新版本更新即可

也許按照上述方法能更新 Android SDK Tools 版本,Eclipse 卻一直無法更新。

被告知版本太老舊(不管是ADT或Eclipse)

根據官方的方式,使用 Install New Software (Help > Install New Software),新增 ADT Plugin 與位址。

https://dl-ssl.google.com/android/eclipse/

接著勾選 Developer Tools來更新即可!

創建專案後src裡面沒有.java檔案

這問題也不知道是為什麼產生的,不過解決第一個問題(被告知版本太老舊(不管是ADT或Eclipse))後就解決了 XD

下一位

創建第二個專案重複產生appcompat_v7甚至有莫名的錯誤

這真的令人世界困擾,因為會莫名其妙的跑出這個傢伙 appcompat_v7,出現不理會就算了,當建立第二個專案時還會自己開分身…

創建第二個專案重複產生appcompat_v7甚至有莫名的錯誤

解決方式如下,建立新專案時,最低SDK版本(Minimum Required SDK)指定為 API 14(即 Android 4.0),就不會出現appcompat_v7。 初步認為應該是為了讓新版本專案向下相容到舊版本Android(即小於 android 4.0)。

創建第二個專案重複產生appcompat_v7甚至有莫名的錯誤

自動完成功能失效 (Alt + /)

這個也是一樣,不知道從什麼時候開始的,預設自動完成(Content Assist)不再是 alt + /。

當初還以為是 Mac的鍵盤配置跑掉,因為學弟的Eclipse還能使用 Alt + /。

再三確認預設的自動完成快速鍵為 Ctrl + Space (Mac: ^Space)
至於 Windows 版本小俊找時間確認一下再補上來 XD

自動完成功能失效 (Alt + /)

專案layout與之前不一樣了

是的,不一樣了… 預設專案開始使用 fragment,會產生 fragment_main.xml 與 activity_main.xml 兩個。
儘管還是套用 activity_main.xml (setContentView(R.id.activity_mail)),元件卻在 fragment_mail.xml。

專案layout與之前不一樣了

會造成什麼災難困擾呢?就是會不知所措 XD

因為還沒習慣使用 fragment,如果想回到以前的方式呢?

請在 MainActivity.java 中的 onCreate 拿掉下面程式碼

        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }

剩下多餘的程式碼拿掉即可,快樂回到以前的開發方式 XD

7 comments on “[Android] 解決建立專案產生的 appcompat 與其他問題

  1. 我今天重下載Eclipse之後
    也發生同樣的事情
    超想哭的QAQ
    整得莫名其妙阿
    希望可以改回之前的
    不然真的超不習慣

    小俊回應:
    真的真的,世界變了 XD

  2. 感謝你的分享!!我最近也是中這個雷… (汗)
    至少讓我知道要調API 14。

    至於Fragment的問題,我則是強迫自己習慣。
    初步習慣的方法是主要寫在PlaceholderFragment那邊(不是MainActivity那邊);
    然後findViewById(…)那邊則是變成rootView.findViewById(…);
    如果有用到Intent到別的活動的話,則是在setClass這邊用”getActivity()”
    Intent myIntent = new Intent();
    myIntent.setClass(getActivity(), NextActivity.class);

    小俊回應:
    是元兒耶!!!

    是阿,應該要習慣一下新的東西這樣。 感謝元兒 (筆記翻頁

  3. 我今天電腦新灌eclipse+ADT也發生此現象,
    每執行一個app,
    “Hello world”就會出現在畫面中間!!
    還好有你的這篇文章,
    讓我知道如何應對.
    不過…
    為甚麼改成這樣?
    用起來怪怪的!

    小俊回應:
    為什麼改成這樣小俊沒仔細研究,哈哈

  4. XML變一個的方法也有
    在新建專案或頁面時
    Create Activity那個部分打勾
    並選擇Empty Activity 這樣產出頁面就是像以前一樣了

    小俊回應:
    原來如此,長知識了!

  5. 你好,我有問題(舉手)
    我做完”ADT Plugin與位址”這個步驟後後,畫面就一直”Pending…”
    沒有Developer Tools出來讓我勾選
    等到都傻了依然美叮噹 T__T
    請問這是我的電腦太笨還是我太笨弄錯了什麼…

    小俊回應:
    一定是太笨了
    用線上的會這樣嗎? 還是離線方式?
    要不要直接抓 ADT Bundle 呢? 抓下來後就可以直接使用了的說。

  6. 這真是太棒了一篇文章!! 我一直卡在創建第二個專案重複產生appcompat_v7甚至有莫名的錯誤

    這步驟,一開始想說是不是我安裝問題有錯誤?畢竟我是自學的也有買書,一直按照書本上面的步驟來一直有錯誤,真是太感謝您了~

    小俊回應:
    當然這是奇怪的解法,算是暫時 XD

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *