BUG彙總 1

1.Unsupported Modules Detected: Compilation is not supported for following modules

問題描述: 在程序界面的右上角提示無法編輯程序
解決辦法: File -> Invalidate Caches / Restart -> Invalidate Caches & Restart.


2.Gradle sync failed: Connection timed out: connect Consult IDE log for more details (Help | Show Log)

問題描述: 向AS 導入某個project之後,在運行某個module時出現如下錯誤,導致無法運行:

打開Messages提示:

這說明系統嘗試下載gradle-3.3-all.zip但失敗。

解決辦法:

打開AS的project視圖,從根目錄gradle->wrapper->gradle wrapper.properities中,找到distributionUrl值,如圖,這說明需要gradle-3.3-all.zip,並且之前系統也提示需要下載它。

下載網址:https://services.gradle.org/distributions/gradle-3.3-all.zip(依據具體情況下載需要的gradle,比如需要grade3.2,則下載網址是https://services.gradle.org/distributions/gradle-3.2-all.zip),下載完成後直接把gradle-3.3-all.zip拖到該路徑下:/Users/<用戶名>/.gradle/wrapper/dists/gradle-3.3-all/<…>/。

重新運行即可。


3.Building gradle project info…(一直)

問題描述: 向AS 導入某個project時,一直卡在這裏,還是gradle的問題。
解決辦法: 第一種解決辦法可參考上個問題,第二種辦法是修改該project的gradle-wrapper.properties裏的gradle版本爲自己電腦已有的版本。比如已有gradle-3.3-all.zip,那麼只需將最後一行替換掉:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip。

重新啓動即可。


4.Error:(1, 0) Plugin with id ‘com.example.application’ not found.

問題描述:導入project時報錯找不到com.android.application插件,這很可能是開發人員在上傳代碼時直接把module的整個文件夾丟上去,缺失project裏面的build腳本,導致下載者出現上述錯誤現象。
解決辦法:
修改module下的build.gradle,在文件最後貼上紅框內這段代碼,最後try again,就導入成功了:

即以下代碼:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        //注意:更換成自己的AS的版本,比如這裏是2.2.3版本
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

5.’C:\Users\minmin\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server’ failed – run manually if necessary

問題描述:編譯項目開啓模擬器的時候出現問題,提示“adb程序開啓失敗”,引發原因是adb程序的端口被佔用。
解決辦法:打開任務管理器將佔用端口的程序kill掉。步驟爲:
step1: 通過cmd查看佔用adb端口的程序,adb默認端口爲5037,因此查詢代碼爲:

netstat -aon|findstr "5037"

step2:通過以上查詢可知adb端口號被6404佔用了,接下來繼續通過cmd查詢6404端口對應的程序,查詢代碼爲:

tasklist|findstr "6404"

step3:通過以上查詢可知是360手機助手程序佔用了端口,然後打開任務管理器找到對應的程序kill掉,重新打開編譯器即可。
題外話:還遇到一種特殊情況,最後發現是adb.exe佔用。此時可以嘗試重新啓動AS,先點擊“運行”出現對話框後,再連接真機,順序一定不要反。


6.android.view.InflateException: Binary XML file line #6: Error inflating class com.examp…

問題描述:在引入自定義View時報錯,排除是引入類名的錯誤(正確寫法是包名.類名)之後,很可能是構造函數的問題。
解決辦法:在自定義一個View時,派生實現基類View有三個構造函數:View(Context context) 、View(Context context, AttributeSet attrs)和View(Context context, AttributeSet attrs, int defStyle)。其中第二個和第三個構造函數對於XML引用方式是必須實現的,因此補全構造函數即可。


7. adapter調用notifyDataSetChanged()但失效

問題描述:很可能是因爲數據源又指向了一個新的引用,而adapter只關心原地址所指向的數據有沒有改變。
解決辦法:先調用clear()方法清空數據源dataList,再調用addAll()方法添加新的數據。


8.Error:android.database.sqlite.SQLiteException: table Memo has no column named year (code 1):while compiling: INSERT INTO user(…) VALUES (?,?,?,?,?,?,?,?,?,?)

問題描述:數據庫錯誤:添加數據時找不到該表的某一字段
解決辦法:檢查字段後是否用逗號“,”分開;檢查賦值和取值時所有字段是否一致;檢查賦值和取值時所用字段是否和表字段一致;如果更改表字段了,檢查是否有對數據庫進行重新卸載安裝或者升級。


9.Error:java.lang.ArrayIndexOutOfBoundsException: length=2; index=3

問題描述:自定義一個BaseAdapter子類適配器時引發的問題,這裏定義了兩個type的item,在重寫getItemViewType()方法裏返回相對應的兩種類型item的int值,但type的int值是從3開始。
解決辦法:將type值分別改爲0,1即可解決。
修改前

修改後


10. java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

問題描述:該類繼承的是v7兼容包裏的AppCompatActivity,卻使用了非兼容包裏的主題”@android:style/Theme.NoTitleBar.Fullscreen”或”@android:style/Theme.Black.NoTitleBar”,故導致程序崩潰。
解決辦法:改爲繼承Activity


集齊十個可召喚神龍哦~
END

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章