1. 程式人生 > >開發過程中,所遇到的一部分問題

開發過程中,所遇到的一部分問題

總結目前所遇到的部分問題,並已解決,請多多指教:
1、由於使用的是老版本的框架,今天把專案從eclipse轉移到了studio,遇到了各種問題:
1、sdk版本不同,修改每個專案下面的build.gradle檔案中的編譯sdk版本號
2、老的httpCilent請求類,顯示19以後studio不再使用,所以谷歌也給出了方案:
/——————————————————–/
//官方原文
Apache HTTP Client Removal
Android 6.0 release removes support for the Apache HTTP client. If your app is using this client and targets Android 2.3 (API level 9) or higher, use the HttpURLConnection class instead. This API is more efficient because it reduces network use through transparent compression and response caching, and minimizes power consumption. To continue using the Apache HTTP APIs, you must first declare the following compile-time dependency in your build.gradle file:

android {
useLibrary ‘org.apache.http.legacy’
}
/——————————————————–/
新增這個之後,發現還是不行,不用著急,點選Build—>clean project之後,重新編譯就會提示了。
3、如果你是使用多專案引用,那麼每個專案下的build.gradle都要做一下處理,修改編譯sdk版本號等資訊,另外不要忘了一定要修改整個工程下的build.gradle,以及gradle—>wrapper資料夾下的gradle-wrapper.properties檔案中修改gradle版本
4、匯入Project的出現:

Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/95744 for details.

This warning can be disabled by using the command line flag -Dcom.Android.build.gradle.overridePathCheck=true, or adding the line ‘com.android.build.gradle.overridePathCheck=true’ to gradle.properties file in the project directory
專案工程路徑不能為中文的
5、java.lang.IllegalStateException: Multi dex requires Build Tools 21.0.0 / Current: 19.1
把 build.gradle修改為:
android {
compileSdkVersion 20
buildToolsVersion ‘21.0.0’

}

並確保你得Build Tools有21.0.0
6、Suggestion: add ‘tools:replace=”android:theme”’ to element at manifestMerger155308228

AS的Gradle外掛預設會啟用Manifest Merger Tool,若Library專案中也定義了與主專案相同的屬性(例如預設生成的android:icon和android:theme),則此時會合並失敗,並報上面的錯誤。

解決方法有以下2種:

方法1: 在Manifest.xml的application標籤下新增tools:replace=”android:icon, android:theme”(多個屬性用,隔開,並且記住在manifest根標籤上加入xmlns:tools=”http://schemas.android.com/tools”,否則會找不到namespace哦)

方法2: 在build.gradle根標籤上加上useOldManifestMerger true (懶人方法)

/***呼叫系統相機拍照以及取出照片相關問題***/
取圖片問題(小米問題)

private void openAlbum(int number) {
        if (image_path.size() == number) {
            Intent intent = new Intent(Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
            startActivityForResult(intent, RESULT_CANCELED);
        }

    }

由於小米和其他手機相簿路徑不同,發現取出來的路徑為null,所以需要另外對待,下面就是其中的一個方案

if (data != null) {    
    Uri uri = data.getData();    
    if (!TextUtils.isEmpty(uri.getAuthority())) {    
        Cursor cursor = getContentResolver().query(uri,  
                new String[] { MediaStore.Images.Media.DATA },null, null, null);    
        if (null == cursor) {    
            Toast.makeText(this, "圖片沒找到", Toast.LENGTH_SHORT).show();    
            return;    
        }    
        cursor.moveToFirst();    
        path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));  
        cursor.close();    
    } else {    
        path = uri.getPath();    
    }    
}else{    
    Toast.makeText(this, "圖片沒找到", Toast.LENGTH_SHORT).show();    
    return;    
}   

7、匯入工程時出現 Error:(20, 0) Gradle DSL method not found: ‘android()’
Possible causes:

  • The project ‘LNotifications’ may be using a version of Gradle that does not contain the method.
    Gradle settings
  • The build file may be missing a Gradle plugin.
    Apply Gradle plugin
  • 解決方法:

在最外層的Gradle中,刪除如下的語句:
android {
compileSdkVersion 23
buildToolsVersion ‘23.0.2’
}

8、編譯時出現Error:(25, 0) Gradle DSL method not found: ‘compile()’
Possible causes:

解決方法:

在最外層的Gradle中,刪除如下的語句:
dependencies {
compile files(‘libs/xUtils-2.6.14.jar’)
}

9、編譯出錯:
Error:Execution failed for task ‘:app:mergeDebugResources’.

D:\workspace5\Boke\app\src\main\res\drawable\custom_Animation_progress_bar.xml: Error: ‘A’ is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore
解決方法:

你的專案中存在中文命名,將專案中對應的中文命名改為英文即可

相關推薦

開發過程遇到的一部分問題

總結目前所遇到的部分問題,並已解決,請多多指教: 1、由於使用的是老版本的框架,今天把專案從eclipse轉移到了studio,遇到了各種問題: 1、sdk版本不同,修改每個專案下面的build.gradle檔案中的編譯sdk版本號 2

開發過程我用過的一些簡單粗暴的外掛

一、idea 外掛 Mybatis log plugin 作用:可以自動將sql的引數自動拼接到sql中 2.MyBatisCodeHelperPro 作用:可以通過Mapper介面的某個抽象方法自動跳轉到Mapper.xml檔案對應的sql ,反過來也可

android.intent.action.SCREEN_ON和android.intent.action.SCREEN_OFF待機廣播在TV android開發過程不響應原因.

待機廣播,又叫螢幕喚醒廣播:android.intent.action.SCREEN_ON和android.intent.action.SCREEN_OFF 在使用過程中需要主要以下兩點: 1.需要在AndroidManifest.xml添如下許可權: <uses

C# 基礎(十三)C# 軟體開發過程可執行檔案.exe 出現bug該怎麼排查、解決:找到出現bug的位置

一、簡介 之前是完成了寫軟體,從而實現軟體的基本功能。到了今天,需要對自己寫的可執行檔案.exe找bug了。那麼下面,我將結合自己的軟體的使用過程中,講自己的經驗融入進來,解釋下什麼是bug、以及該怎麼找Bug。 二、Bug的分類 主要參考: https://blog.csdn.ne

java web開發過程中文亂碼問題

在解決中文亂碼之前,我們先來看看jsp檔案中charset與pageEncoding的區別:          1.首先,charset是指伺服器傳送給客服端時的內容編碼,charset=utf-8表

微信小程序開發過程踩過的坑集合沒有解決不了的錯誤只有踩不完的坑

pac 清除 bind ren 透明 .json 配置 reac 之間 微信小程序開發過程中踩過的坑,包含很多小程序開發細節,有些可能你也踩過。。。1、height:auto; 失效,必須指定 image 的高度為具體數值,不然高度為0。2、真機和模擬器的問題總結 inp

前端爬坑日記(1)你在初入vue專案開發過程可能會掉進的坑!

這篇文章是記錄我在vue專案開發中遇到的各種巨坑,希望看了能對你有一些幫助,這篇文章會長期更新 1.Vue中使用sass 首先通過以下程式碼安裝sass的依賴: npm i sass-loader node-sass - s 然後在webepack.base.conf.js目錄下配置

Unity專案開發過程常見的問題你遇到過嗎?

最近看到有朋友問一個unity遊戲開發團隊,需要掌握哪些知識之類的問題。事實上Unity引擎是一個很靈活的引擎,根據團隊開發遊戲型別的不同,對人員的要求也有差異,所以不能一概而論。但是,一些在Unity專案開發過程中常常會遇到的問題還是可以總結一下的。 下面我就來聊聊實際工作中,一個專案組可能會遇到的問題吧

在react開發過程由於setState的非同步特性獲取最新state遇到問題

1 //在父元件內 改變 state.dataSetValue 2 <Select onChange={(value) => { 3 this.setState({ 4 dataSetValue: value 5

【小菜鳥】本人部落格沒有任何侵權的想法僅僅是總結了一些前輩們的經驗做了一些小筆記發表。 在以往學習過程中,遇到太多太多的小問題網上都有答案只不過太多太雜解決問題的答案也是可不可求 總是事倍功半。特此總結出一些自己的小經驗希望能夠幫助大家。

小菜鳥 本人部落格,沒有任何侵權的想法,僅僅是總結了一些前輩們的經驗,做了一些小筆記發表。 在以往學習過程中,遇到太多太多的小問題,網上都有答案,只不過太多太雜,解決問題的答案也是可遇不可求, 總是事倍功半。特...

二次開發過程發現一個找也找不到的函式file_delete()有誰知道這個函式發現刪除遠端附件函式

反正我沒找到,現在刪除檔案就是unlink,我就是刪除一直false; 先測試再說。發現微擎首頁的後臺操作能夠正常刪除新增圖片到七牛雲 (刪一張將圖片連結儲存,隨後到七牛雲端儲存->內容管理裡面找,沒找到就是刪了。)   ==============

android studio 開發過程怎麼解決同一個專案下兩module之間的相互訪問

        最近,想用google自己的工具zxing開發一個能夠實現二維碼掃描app,但是將執行匯入之後zxing能夠獨立執行,但是主module訪問執行出了問題,老是報錯,蒙了好幾天了,想從軟體開發牛人哪裡獲取一點經驗,對同一專案下module之間能夠實現相互訪問

iOS在開發過程記憶體出現不足應當怎樣解決記憶體警告

本文主要講述了當iOS應用出現記憶體不足時,如何解決該問題,現在把相關的思路和實現程式碼整理出來分享給iOS程式設計師,希望給他們的開發工作帶來幫助。記憶體警告ios下每個app可用的記憶體是被限制的,如果一個app使用的記憶體超過了這個閥值,則系統會向該app傳送Mem

springmvc 開發過程需要的所有maven依賴

<properties> <!-- 日誌相關 --> <commons.logging.version>1.2</commons.logging.version> <log4j.version>1.2.1

開發過程遇到的內存泄露情況如何解決的?

成了 內存 瀏覽器中 分享圖片 引用 處理 回收 內部 alt 1、定義和用法: 內存泄露是指一塊被分配的內存既不能使用,又不能回收,直到瀏覽器進程結束。C#和Java等語言采用了自動垃圾回收方法管理內存,幾乎不會發生內存泄露。我們知道,瀏覽器中也是采用自動垃圾回收方法管理

軟體開發過程使用的生命週期模型比較

       軟體開發的過程中,我們使用生命週期模型簡潔地描述軟體過程。針對軟體工程的各個階段提供了一套範形,使工程的進展達到預期的目的。對一個軟體的開發無論其大小,我們都需要選擇一個合適的軟體過程模型。在20世紀80年代之前,瀑布模型(也稱為傳統生存模型)一直是唯一被廣泛採

專案開發過程的細節問題及解決方法(VueCss)(入門級)

Vue開發填坑 方法methods通用 問題描述: vue開發過程中很多時候,函式方法methods會在各個元件內共用,每個元件都寫個比較多餘。 解決方法: 1.利用CommonJS思想,單獨寫,然後每個元件利用import { function

使用phxpaxos開發過程遇到的坑

例如 exec 永遠 傳輸 snap 如果 poi 沒有 github 1. 開啟BatchPropose後,狀態機使用ExecuteForCheckpoint生成快照要註意: ExecuteForCheckpoint中的InstanceID不能立即持久化。 例如:

ReactJS 開發過程的一些使用心得

有著 dom操作 作者 -s arc 有用 第一個 sets tao ReactJS作為目前最火的構建用戶界面的前端框架,為什麽有那麽多的前端工程師去追逐它,不僅因為它簡單,而且它提供了一系列強大的API讓我們擺脫以前繁瑣的DOM操作,使我們的邏輯更加清晰,代碼更加簡單。