Android Studio使用心得

說實話 開始接觸這個工具 真的認為非常惡心 畢竟大陸被墻? 非常多東西用起來不是非常方便 并且Eclipse轉到Android Studio還是一個跨度 廢話不多說? 以下 講下我遇到的問題

1. 安裝的時候(Setup Wizard - Download Components) 這個要下載非常長時間 甚至下載不了 (PS: 這個選擇并下載2.25G的組件是studio的一個bug,評論里有人提醒,感謝這位同學。

假設網速不行想跳過這步的能夠在bin文件夾的idea.properties添加一行:disable.android.first.run=true即可了。mac平臺的右鍵安裝包->Show Package Contents 就找到bin文件夾了。)

?

2.新建項目成功后會下載Gradle,貌似這個過程不FQ也是能夠下載,可是訪問特別慢,建議FQ下載。那么下載的Gradle到什么地方呢?? 打開C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.10-all\d90a2yjknzzhpcfgm937zpcte 你會看到須要的gradle版本號 比如我的是gradle-1.10 我會去百度上搜這個下載 一大堆 下載之后把gradle-1.10-all.zip拷貝到此文件夾下(C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.10-all\d90a2yjknzzhpcfgm937zpcte)

?

注:假設是導入一個項目一直處于Building 那么去改動項目Gradle文件夾下的gradle-wrapper.properties 文件中邊的distributionUrl 最后邊改成已經下載的gradle版本號比如 我已經有gradle-2.2.1-all.zip 可是沒有gradle-2.4-all.zip的 所以我會改成distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

?

假設導入項目之后 下載Android studio那么結束掉任務 去改動項目根文件夾下的build.gradle
改成你如今的版本號

?dependencies {
??????? classpath 'com.android.tools.build:gradle:1.2.2'

??????? // NOTE: Do not place your application dependencies here; they belong
??????? // in the individual module build.gradle files
??? }

?

?

3. 關于build.gradle的配置:

?? 主projectapp:

??? apply plugin: 'com.android.application'? 表示申明此project為主project

?

?dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])? 默認不須要多解釋

compile project(':StudioKlowerBase')}? 申明主工程依賴的Library 注意拼寫規則, 名字要與你的Library名字一樣

?

buildTypes {release {minifyEnabled true(表示打包簽名的時候 是正式包 會運行混淆代碼) 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      定義代碼混淆文件 注意:proguard-rules.pro要放在主project的文件夾下
    }
}
完整代碼例如以下:
apply plugin: 'com.android.application'android {compileSdkVersion 19buildToolsVersion "19.1.0"defaultConfig {applicationId "com.klowerbase.test"minSdkVersion 11targetSdkVersion 19versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile project(':StudioKlowerBase')
}

--Library 工程的配置
apply plugin: 'android-library'定義為Library
dependencies {classpath 'com.android.tools.build:gradle:1.2.2' 定義編譯的gradle版本號
 }
完整代碼例如以下:
buildscript {repositories {mavenCentral()}dependencies {classpath 'com.android.tools.build:gradle:1.2.2'}
}
apply plugin: 'android-library'dependencies {compile fileTree(include: '*.jar', dir: 'libs')
}android {compileSdkVersion 19buildToolsVersion "19.1.0"sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res']assets.srcDirs = ['assets']}// Move the tests to tests/java, tests/res, etc...instrumentTest.setRoot('tests')// Move the build types to build-types/<type>// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...// This moves them out of them default location under src/<type>/... which would// conflict with src/ being used by the main source set.// Adding new build types or product flavors should be accompanied// by a similar customization.debug.setRoot('build-types/debug')release.setRoot('build-types/release')}
}

項目的配置 代碼例如以下
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:1.2.2'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {jcenter()}
}
?
解決Task '' not found in root project '***'.
方法1:刪掉.iml里的<component name="FacetManager"> ... </component>
方法2:刪掉.iml跟.idea目錄 又一次導入程序
經過實驗:另外一種方法 有效
因為我用的gradle-2.2.1 項目結構有些變化,例如以下截圖:
<img src="https://img-blog.csdn.net/20150720130051120?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

最后在附上一些經常使用的快捷鍵:

Ctrl+Alt+L? 格式化代碼

Ctrl+Alt+space 代碼提示

Ctrl+Alt+O 優化導入的類和包

Alt+Insert 生成代碼(如get,set方法,構造函數等)

Ctrl+Shift+Space 自己主動補全代碼

Ctrl+空格 代碼提示

Ctrl+R 替換

Ctrl+Y 刪除行(ctrl+x不是刪除行。是剪切。

假設不選中,則為剪切當行。

ths for 貌似掉線) Ctrl+D 復制行 Ctrl+/ 或 Ctrl+Shift+/? 凝視(// 或者/*...*/ )

?

?

?

?

?

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/wzjhoutai/p/6719070.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252888.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252888.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252888.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CentOS用戶和用戶組的操作

2019獨角獸企業重金招聘Python工程師標準>>> CentOS用戶和用戶組的操作 長得太帥忚四種檌 關注 2018.05.12 16:40* 字數 312 閱讀 115評論 0喜歡 0 用戶組的操作 1.添加用戶組&#xff1a; groupadd 組名2.修改組名 groupmod -n 新組名 原組名刪除用戶組groupdel 組…

vue webpack配置分析

寫在前面&#xff1a;作為 Vue 的使用者我們對于 vue-cli 都很熟悉&#xff0c;但是對它的 webpack 配置我們可能關注甚少&#xff0c;今天我們為大家帶來 vue-cli#2.0 的 webpack 配置分析 vue-cli 的簡介、安裝我們不在這里贅述&#xff0c;對它還不熟悉的同學可以直接訪問 v…

Linux用戶空間與內核地址空間

Linux 操作系統和驅動程序運行在內核空間&#xff0c;應用程序運行在用戶空間&#xff0c;兩者不能簡單地使用指針傳遞數據&#xff0c;因為Linux使用的虛擬內存機制&#xff0c;用戶空間的數據可能被換出&#xff0c;當內核空間使用用戶空間指針時&#xff0c;對應的數據可能不…

關于主鍵的設計、primary key

主鍵&#xff1a;用于唯一標識一個表中一行數據。 外鍵&#xff1a;用于建立兩個表之間的關系&#xff0c;A表中有一列是B表中的主鍵&#xff0c;那么A表中這列的數據就受到B表主鍵的約束。 那么關于主鍵應該如何設計呢&#xff0c;這里我說下優缺點&#xff1a; 1.用自動增長字…

淺談微信smali注入

作者&#xff1a;郭少雷 搞android搞了幾年也沒搞出個啥牛逼app出來&#xff0c;眼看時下最火的app微信如此火熱&#xff0c;實在想搞搞它&#xff0c;索性就想著給它加點東西進去。 以下內容純屬本人個人愛好&#xff0c;僅限個人學習android用途以及對android的深入了解。 首…

從0到1使用Kubernetes系列(四):搭建第一個應用程序

上一篇文章《從0到1使用Kubernetes系列&#xff08;三&#xff09;&#xff1a;使用Ansible安裝Kubernetes集群》中&#xff0c;我們搭建了一套Kubernetes集群&#xff0c;接下來將在本文中介紹如何使用Kubernetes部署一個Nginx并通過Pod IP、Service IP、Ingress這三種方式訪問…

Embeded linux之移植iptables

一、內核環境&#xff1a; linux-3.4.35 -*- Networking support ---> Networking options ---> [*] Network packet filtering framework (Netfilter) ---> IP: Netfilter Configuration ---> <*> IP tables support (required for filtering/masq/NAT)…

Hadoop HIVE

數據倉庫工具。構建在hadoop上的數據倉庫框架&#xff0c;可以把hadoop下的原始結構化數據變成Hive中的表。&#xff08;主要解決ad-hoc query&#xff0c;即時查詢的問題&#xff09; 支持一種與SQL幾乎完全相同的語言HQL。除了不支持更新&#xff0c;索引和事務&#xff0c;幾…

Xcode9學習筆記67 - 打印查看程序沙箱結構中常用的幾個目錄

override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//首先獲得應用程序目錄的路徑&#xff0c;在該目錄下有三個文件夾&#xff1a;文檔目錄、庫目錄、臨時目錄以及一個程序包。該目錄就是應用程序的…

檢測raid類型和磁盤壞道腳本

#!/bin/sh #腳本功能&#xff1a; #安裝工具MegaCli64 #Host Information&#xff1a;主機名和ip地址 #Raid Information&#xff1a;raid信息和充電狀態 #WARNING Information&#xff1a;MediaErrcount檢測壞塊和哪塊盤 #Disk Information&#xff1a;磁盤信息 #上傳MegaC…

簡單論述市場營銷管理的基本過程

http://www.chinadmd.com/file/uvc3uaosocwevsetrzpaereo_1.html

Javascript-Switch

JavaScript Switch 語句 請使用 switch 語句來選擇要執行的多個代碼塊之一。 語法 switch(n) { case 1:執行代碼塊 1break; case 2:執行代碼塊 2break; default:n 與 case 1 和 case 2 不同時執行的代碼 }工作原理&#xff1a;首先設置表達式 n&#xff08;通常是一個變量&…

《SpringBoot揭秘 快速構建微服務體系》讀后感(三)

SpringApplication&#xff1a;SpringBoot程序啟動的一站式解決方案 深入探索SpringApplication執行流程 因為書上的版本是1.2的&#xff0c;比較老&#xff0c;這里參考http://blog.csdn.net/zxzzxzzxz123/article/details/69941910 public ConfigurableApplicationContext ru…

裝飾器函數

1.裝飾器 ? 裝飾器&#xff1a;在不改變原函數的調用方式和函數&#xff0c;額外的增加功能 簡單裝飾器def timer(func):def inner():print(time.time())func() # 原來的函數return inner ? timer # func1 timer(func1) def func1():print(func1) 函數帶返回值def timer…

6G SDI/12G SDI 基帶信號無壓縮傳輸方案介紹

認知數字像素分辨率&#xff1a; 首先從分辨率(數字像素)角度來講&#xff0c;從標清時代走到高清&#xff0c;從720x576到現在的1920x1080&#xff0c;寬高比從4:3到16:9&#xff0c;這個是我們比較熟悉的&#xff0c;4K實際上是建立在高清基礎之上的&#xff0c;我們稱之為“…

4月18日

u盤丟了&#xff0c;毀滅性的災難 希望明天可以找到它&#xff0c;不然萬字的策劃案就要重寫 這是一個災難 轉載于:https://www.cnblogs.com/dandansang/p/6731174.html

玩轉SSH端口轉發

ssh端口轉發(tunnel) 我們在實施項目部署時經常會遇到一種問題&#xff0c;那就是當我們給一些安全系數高的客戶部署服務時&#xff0c;大多都不會給我們提供公網訪問的權限&#xff0c;但是很多時候為了方便又會允許服務器直接訪問公網&#xff0c;遇到這種情況大多有兩種辦法…

12.4日團隊工作總結

今天團隊的主要任務是注重于畫圖工具的設計&#xff0c;這就意味著我們首要的任務是將畫圖工具設置出來并可以完整運行&#xff0c;接下來才能顧及之前的改圖軟件&#xff0c;但今天在設計的過程中&#xff0c;遇到了兩者無法無縫結合的問題&#xff0c;目前還沒解決。 轉載于:…

WIFI DFS測試介紹

http://www.eefocus.com/summer12200/blog/09-02/166038_b9094.html 1. 概述: 目前在802.11系列標準中&#xff0c;涉及物理層的有4個標準&#xff1a;802.11、802.11b、802.11a、802.11g。根據不同的物理層標準&#xff0c;無線局域網設備通常被歸為不同的類別&#xff0c;如…

git 遠程倉庫版本的回退以及git reset 幾種常用方式記錄

由于 github push 了兩個比較潦草的commit, 自己很不滿意&#xff0c;又不想重新開vpn進行上傳&#xff0c;所以找了一下相關的教程。 最后研究了一下&#xff0c;原理為先在本地還原到你想要的commit,然后強制push 到遠程倉庫&#xff0c;強制將遠程倉庫還原到你想要的commit.…