1. 程式人生 > >android studio注意要點及常見錯誤

android studio注意要點及常見錯誤

1、主專案跟他的依賴lib要放在同一個目錄才能在eclipse中export

(2)開啟工作空間目錄下的 build.gradle 檔案。修改以下內容:
classpath ‘com.android.tools.build:gradle:0.x.+’ –> classpath ‘com.android.tools.build:gradle:1.2.3’

3、新增其他專案為module需要手動修改主目錄裡的settings.gradle,把**檔名或包名(遠端的用包名)**include進去(加冒號,ex:include ‘:app’),然後sync同步一下

4、主專案和依賴的lib放在同一個目錄時,輸出後主目錄也有build.gradle,各個lib(包括主專案)也都各自有build.gradle,匯入的時候需要匯入根目錄

(不是主專案)裡的那個build.gradle

5、錯誤自動檢測:在 AS 右下角有個小人頭 點選 有個POWER SAVE MODE 取消對鉤 程式碼就能自動檢測了

6、主專案圖示為小手機表示這是主應用程式,為咖啡杯表示還有未完成的配置等,變成三本豎著的書表示這是個module

7.添加了 compile fileTree(include: ‘*.jar’, dir: ‘libs’)就不用新增libs資料夾下的dependence了(寫了也不會報錯)

8、變lrmlibrary由應用為lib庫(即eclipse中的is library):只需要修改lib專案lrmlibrary裡build.gradle中的apply plugin: ‘com.android.application’為apply plugin: ‘com.android.library’。並且修改lib專案lrmlibrary的manifest中application標籤,去掉

<intent-filter>-->
                <!--<action android:name="android.intent.action.MAIN" />-->
                <!--<category android:name="android.intent.category.LAUNCHER" />-->
            <!--</intent-filter>

-即可

9、更改studio內檔案編碼的方式:file-settings-file encordings-在整個檔案樹列表上更改編碼方式
這裡寫圖片描述


並在亂碼的module或application中的build.gradle寫明compileOptions.encoding=”UTF-8”
這裡寫圖片描述

常見錯誤總結:
錯誤1:finished with non-zero exit value 2:多個lib有相同的引用包 刪除多餘的只剩一個就好了
……aapt “finished with non-zero exit value 1”:假如不是重複的jar包的問題的話此時要看log日誌這句錯誤之上的資訊了,比如在引用com.github.lzyzsd:circleprogress:[email protected](8種圓形的進度條)的時候,根據這句錯誤之上的內容發現錯誤原因是在app-build-intermediates-res內的資原始檔中出現了drawable-^dpi-v4這種資料夾,而且這種資料夾內都包含ic_launcher檔案,初步分析原因為相同種類的資料夾不能存在同名檔案,如drawable-hdpi和drawable-hdpi-v4不能存在相同檔案,解決方法為:把app專案內各drawable資料夾中的ic_launcher檔案刪除 sync即可。

錯誤2:ndk path cannot contain any spaces:解壓之後千萬不要儲存在含有空格的目錄裡

錯誤3:AAA,cannot add task ‘…’ as a task with that name already exists:根目錄的build.gradle裡dependencies裡compile的多個lib裡有相同的引用(如V7),解決方案看錯誤9

錯誤4:Gradle DSL method not found: ‘android()’:刪掉最外層(根目錄裡的build.gradle)的build.gradle中的android {
compileSdkVersion 19
buildToolsVersion '21.1.1'
}
然後重新重新整理就ok了(AS裡只在app層的gradle讀取Android版本,放在最外層的gradle是沒辦法讀的)

錯誤5:task not found in root project…:這是因為AS的早期版本錯誤配置了(passagename).iml檔案,添加了一個

"<component
 name="FacetManager">" XML 這個不存在的屬性.
所以,我們只要把這個屬性的內容全部刪掉就ok了<component
 name="FacetManager"> ... </component>

錯誤6:找不到R檔案
module找不到R檔案-build-make module xxx
檢查是否編譯了專案。Android studio有時候沒有編譯就會報出沒有R檔案的錯誤。(可以make project或者make module)
檢查程式碼中包名是否正確。有時候從其他地方複製程式碼過來時連帶了包名,也會報出R檔案找不到。
檢查佈局檔案是否有語法錯誤。佈局檔案有語言錯誤時也會導致R檔案錯誤。
軟體抽風了,重建專案試試。
另外可能很多人不知道在哪兒找R檔案,Android studio左上角有個選項,一般我們可能是選的Android模式,選擇Packages模式找到你的專案,裡面就可以看到R檔案了

錯誤7:V7包內build-intermediates-explodedaar-com.android.support-appcompatv7-22.1.1-res.value 什麼什麼錯誤 :檢查build.gradle的compileSdkVersion和buildtoolsversion和主專案的這兩個是不是寫的一樣

錯誤8:有個很嚴重的問題,比如我有個主工程為MainProject,另外有個庫工程為library,如果主工程與 library**都需要引用Jar support-v4.jar**,不能直接新增Jar引用,必須要為此公共Jar建立一個Library,然後兩個工程都引用此library,否則在編譯Android過程中提示 此Jar already added Exception
–新建一個module(file-new module-android library)然後為這個module從dependencies處add- library,選V4和V7。然後其他各個需要V4或V7包的module都從dependencies處add-module來引用這個module(不直接引用v4和v7)

錯誤9:V4、V7等包衝突(java.exe finished with non-zero exit value 2 、has already exists等)
1、新建module library_support ,引用V4 V7
2、引用的開源lib全新增依賴為這個module,間接引用V4 V7(即錯誤8裡的解決方法),並把新增library_support的這一項的scope改為provided(不是改support的,是改依賴support的),讓他只給自己的lib用,不給別人用。
3、在./build/intermediates/dex-cache/cache.xml 中找到所有關於v4 v7的包定義全部刪掉(假如有的話)
4、假如主專案也依賴V4 V7的話就要也給主專案依賴library_support了(因為引用的lib裡的V4和V7都是私有的,不能間接給主專案用),但主專案的library_support依賴必須為compile
5、clean project
6、假如有報錯如在某個開源lib的build-intermediates-manifest-androidTest-debug-androidmanifest.xml檔案有報錯則刪除那個報錯的沒見過的標籤(instrumentation),此時不要clear project!否則還會再生成。直接run project。

錯誤10.主專案假如新增maven裡的遠端專案時,假如提示遠端專案的minversion大於主專案的minversion,則需要在主專案的manifest中的 uses-sdk元素中新增 tools:overrideLibrary = “com.soundcloud.android.crop,com.ikimuhendis.ldrawer”

錯誤11.假如提示錯誤找不到drawable-iclauncher(因為新版studio中圖片放在mipmap而不是drawable中)則需要在新專案的manifest的application標籤下新增tools:replace=”android:icon”

錯誤12、打包時報a problem was found with the configuration of task。。。錯誤
1。clear專案
2.打包時的key store path要寫全路徑!

錯誤13、libs裡的jar包不能展開並且在專案中無法引用
如圖
解決方法:sync一下就行了

錯誤14、 1 .Duplicate files copied in APK META-INF/LICENSE.txt

android {

packagingOptions {
exclude 'META-INF/LICENSE.txt'
}

}
My logcat: log Execution failed for task ‘:Prog:packageDebug’.
Duplicate files copied in APK META-INF/LICENSE.txt File 1: /home/scijoker/AndroidStudioProjects/ProgProject/Prog/libs/httpclient-4.1.1.jar File 2: /home/scijoker/AndroidStudioProjects/ProgProject/Prog/libs/httpclient-4.1.1.jar

解決方法
在主專案app的build.gradle新增

android {    
    packagingOptions {  
        exclude 'META-INF/DEPENDENCIES.txt'  
        exclude 'META-INF/LICENSE.txt'  
        exclude 'META-INF/NOTICE.txt'  
        exclude 'META-INF/NOTICE'  
        exclude 'META-INF/LICENSE'  
        exclude 'META-INF/DEPENDENCIES'  
        exclude 'META-INF/notice.txt'  
        exclude 'META-INF/license.txt'  
        exclude 'META-INF/dependencies.txt'  
        exclude 'META-INF/LGPL2.1'  
    }  
} 

錯誤15、
異常提示:
應用在Android Studio Build的時候,丟擲瞭如下異常:
Error:Execution failed for task ‘:app:processDebugManifest’.

Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library [jp.wasabeef:blurry:1.0.0]
/Users/xxx/xxx/app/build/intermediates/exploded-aar/jp.wasabeef/blurry/1.0.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary=”jp.wasabeef.blurry” to force usage
錯誤原因:
出現這個錯誤的原因是我引入的第三方庫最低支援版本高於我的專案的最低支援版本,異常中的資訊顯示:我的專案的最低支援版本為8(Android 2.2),而第三方庫的最低支援版本為9(Android 2.3),所以丟擲了這個異常。

解決辦法:
在AndroidManifest.xml檔案中 標籤中新增

<uses-sdk tools:overrideLibrary="xxx.xxx.xxx"/>

,其中的xxx.xxx.xxx為第三方庫包名,如果存在多個庫有此異常,則用逗號分割它們,例如:

<uses-sdk tools:overrideLibrary="xxx.xxx.aaa, xxx.xxx.bbb"/>

,這樣做是為了專案中的AndroidManifest.xml和第三方庫的AndroidManifest.xml合併時可以忽略最低版本限制。

相關推薦

android studio注意要點常見錯誤

1、主專案跟他的依賴lib要放在同一個目錄才能在eclipse中export (2)開啟工作空間目錄下的 build.gradle 檔案。修改以下內容: classpath ‘com.android.tools.build:gradle:0.x.+’ –

android studio使用要點常見錯誤

1、主專案跟他的依賴lib要放在同一個目錄才能在eclipse中export 2、匯入eclipse中匯出的專案到studio後的配置: (1)開啟工作空間目錄下的 gradle –> wrapper –> gradle-wrapper.properties 。修改一下

Apache+php+MySQL 安裝注意細節常見錯誤

1: 完成apache的安裝(一路預設) 1> 修改httpd.conf 中documentroot 為 E:\web server\Apache24\htdocs (即你的網站存放目錄) 有的直接修改這一行的 Define SRVROOT "E:\web server\Apache24",則

Android Studio專案打包:常見錯誤3:com.android.ide.common.process.ProcessException: Failed to execute aapt

Error while generating dependencies split APK com.android.ide.common.process.ProcessException: Failed to execute aapt Caused by: java.util.NoSuchE

Android Studio專案打包:常見錯誤2:AAPT: libpng error: Not a PNG file

Generate Signed APK: Errors while building APK. You can find the errors in the 'Messages' view. 錯誤資訊: AAPT: libpng error: Not a PNG file FAILU

Android Studio 混淆打包常見第三方依賴的混淆配置

首先要在build.gradle中開啟混淆,也就是minifyEnabled true,我用的build.gradle具體如下所示:def releaseTime() { return new Date().format("yyyy.MM.dd", TimeZone.

使用android studio中遇到的常見問題解決方法

軟體環境:android studio 記錄一下自己使用android studio過程中遇到的問題和解決方案 Question 1: "cannot resolve symbol R" 解決方法

關於android studio安裝說明注意事項

自己安裝了好久android studio,進行一點總結,可能有不足之處 1、首先在官網下載對應系統的android studio版本  2、進行安裝(最好安裝在非C盤中) 3、安裝完成後開啟,會出現unable access to android SDK 此時可以選

Mongodb 參數說明常見錯誤處理

spa 子目錄 產生 文件名 securecrt 添加 refused air 密碼 在 CentOS7 上安裝 MongoDB 1 通過 SecureCRT 連接至 CentOS7 服務器; 2 進入到 /usr/l

APP測試要點常見Bug分類

分享 退出 最新版本 耐心 手機應用 感覺 強調 mark 安裝 引言 對於產品的手機項目(應用軟件),主要是進行系統測試。而針對手機應用軟件APP的系統測試,我們通常從如下幾個角度開展:功能模塊測試、兼容性測試、安裝和卸載測試、軟件更新測試、性能測試、用戶體驗性測試、交叉

SpringMVC接受JSON參數詳解常見錯誤總結我改

pen 接口 var token 練手 一個 lips users 是不是 SpringMVC接受JSON參數詳解及常見錯誤總結 最近一段時間不想使用Session了,想感受一下Token這樣比較安全,穩健的方式,順便寫一個統一的接口給瀏覽器還有APP。所以把一個練手項目

Android studio 導入項目錯誤Plugin with id‘com.XXXX

repos enc mage 圖片 gin build spa include ppc 1.打開AS ,展開項目列表打開方框中的build.gradle。2.添加 buildscript { repositories { mavenCentral(

Sping MVC 整合Junit4進行單元測試常見錯誤解決

bat 手工 jar包 測試 ava spin .get sco 多個 1.Sping整合Junit4進行單元測試:使用spring-test和Junit4進行單元測試 (1)maven依賴:添加spring-test和Junit4 jar包對於jdk1.7版本,sprin

Apache (支援IPv6) 安裝常見錯誤

1:下載支援IPv6的Apache版本 (http://www.apachehaus.com/cgi-bin/download.plx)可以 找到你想要各種Apache支援IPv6的版本,記得安裝對應的vc9 和VC11。 2:下載後,解壓到你想要的目錄。(E:\web server\Apach

AndroidStudio釋出專案到JCenter常見錯誤

如果我們想讓自己的開源專案被別人使用,對於Android平臺,一個很好的方式就是上傳到jcenter,然後使用時通過新增compile引用即可。 關於上傳外掛 網上很多教程都採用 gradle-bintray-plugin ,根據研究,這個外掛配置及其複雜,各種意想不到的錯誤層出不窮。於

Anaconda下安裝pyecharts步驟常見錯誤

(1)之前看了幾篇部落格,有人說用cmd命令在目錄C:\Users\Administrator\Anaconda3\Lib\site-packages下執行pip install pyecharts,執行之後沒有錯誤,顯示安裝成功。但是重新開啟JupyterNotebook執行from pyecha

android 支付寶整合 使用常見錯誤

1:自己近期在做了支付。遇到了一下問題先總結例如以下 第一條: Android快捷支付SDK Demo resultStatus={4001};memo={引數錯誤};result={}問題 分析:填寫的支付寶pkcs8編碼的私鑰 有問題。或

MYSQL用命令列建資料庫,建表,插入資料常見錯誤

1.登入 首先 cmd進入命令列然後cd到自己安裝的MySQL server的bin目錄下,例如我的是 cd C:\Program Files\MySQL\MySQL Server 8.0\bin 然後用root使用者登陸 C:\Program Files\MySQL\MyS

android studio 裝置除錯Logcat檢視

文章轉載自:http://www.cnblogs.com/apaojun/p/4283944.html 現在android的開發工具基本上都改用android studio而慢慢棄用eclipse了,那麼android studio的除錯裝置該怎麼設定和檢視程式的Logcat呢? &n

Android的.so檔案常見問題彙總

早期的Android系統幾乎只支援ARMv5的CPU架構,你知道現在它支援多少種嗎?7種! Android系統目前支援以下七種不同的CPU架構: ARMv5,ARMv7 (從2010年起), x86 (從2011年起), MIPS (從2012年起), ARMv8