Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> GeekBand第十一周筆記

GeekBand第十一周筆記

編輯:關於Android編程

本周的主要內容介紹Gradle,NDK,管理依賴和Git等

一、Gradle

Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,拋棄了基於XML的各種繁瑣配置。
面向Java應用為主。當前其支持的語言限於Java、Groovy和Scala,計劃未來將支持更多的語言。

 Coding只是軟件開發中的一個部分
    編譯源代碼
    運行單元測試和集成測試
    執行靜態代碼分析,生成分析報告
    創建分布版本
    部署到目標環境
    部署傳遞過程
    執行冒煙測試和自動功能測試

Gradle是一個插件,是AS自動安裝的。

1.點擊AS右側邊欄,打開 Gradle, 顯示Gradle Project
這裡寫圖片描述

2.結構及文件

2.1 settings.gradle 裡 是 include ‘:app’ 中間的app就是 指 app文件夾。

include ':app'

引用 示例1,:app
示例2, 新建一個Module叫mylibrary , 會更改為:mylibrary
示例3, 建一個文件夾library,再在裡面建Module, 更改為 :library:testSDK

2.2 build.gradle(Project: Demo) ,是屬於整個工程的。

// 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:2.0.0'

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

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2.3 build.gradle(Module: app), 是屬於 一個Module

apply plugin: 'com.android.application'
// 應用的插件, 是一個apk

//針對於android的一些配置
android {
//    根據sdk那個版本編譯的
compileSdkVersion 23
//    編譯工具的版本號
buildToolsVersion "23.0.3"

defaultConfig {
//        打出來的包名
applicationId "com.exa.demo"
//        支持的最小版本,低於這個版本,手機裝不上
minSdkVersion 15
//        目標版本
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
    buildTypes {// 生成不同的apk, realse,debug等
        release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
//     打不同的渠道,如360,應用寶
//        第三方登錄,必須用簽名的包,才能使用。
}
}

// 依賴,可視化添加。 可依賴第三方庫,本地Module。
dependencies {
//    引用 文件樹 libs文件夾 ,的jar文件
compile fileTree(dir: 'libs', include: ['*.jar'])

    testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
}

dependencies依賴的可視化操作
這裡寫圖片描述

Gradle命令

gradle --help   
gradle --version  版本
gradle build    編譯
gradle clean    清理
gradle tasks
gradle tasks --all

gradle以任務來分配,以任務來組織進程

合並規則
多個文件夾中的所有的源代碼(src/*/java)都會合並起來生成一個輸出
所有的Manifest文件都會合並成一個Manifest文件

Offline, 使用離線模式,使用本地的jar
這裡寫圖片描述

二、NDK

NDK –Native Development Kit 原生開發工具包

為何要用到NDK?

代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。 在NDK中調用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。

便於移植,用C/C++寫的庫可以方便在其他的嵌入式平台上再次使用。

是Android平台支持C/C++開發
a.一種是使用已經編譯好的 .so動態庫
b. 一種是使用C/C++源代碼開發
這裡寫圖片描述

android.developer的網站有NDK官網

1.下載NDK,配置
2.Gradle配置
3.方法調用
4.生成so文件

JNI java原生接口

三、管理依賴

不可避免的Android工程依賴問題
如何使用library 和libs
? jar
? library
? library中的jar

Android Studio 依賴中的三種使用方法

 1.項目依賴,工程 m指 maven,直接在maven庫裡依賴
 2. 文件依賴, jar, aar
 3. 項目依賴, 依賴本地自己開發的項目

添加依賴的兩種方法,代碼或可視化界面操作

1.代碼,build.gradle(Module: app)中

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1' //添加到後面
}

2.可視化, Project Structure

這裡寫圖片描述

依賴 jar

1.一種 compile fileTree()
2、選中 上圖中的第二個 File dependency。 選擇jar文件即可。

方便的 aar引用
aar是什麼
和jar的區別
如何生成aar
本地引用aar
maven庫

引用aar
1.粘貼到libs文件夾下, 打開 工程的 gradle
2.build.gradle(Project:demo) 內

buildscript {
//    倉庫
repositories {
//        設置中央倉庫,拉第三方庫
jcenter()
//        可以定義自己的私有倉庫,如公司內部庫
flatDir{
            dirs 'libs'
}
    }

3、 build.gradle(Module:app) 內

// 依賴,可視化添加。 可依賴第三方庫,本地Module。
dependencies {
//    引用 文件樹 libs文件夾 ,的jar文件
compile fileTree(dir: 'libs', include: ['*.jar'])

    testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile(name:'aar的名字',ext:'aar')
}

2、可視化導入 new module 選擇 imort JAR/AAR Package

這裡寫圖片描述

四、Git

Git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。

1.直接記錄快照
每個Commit(提交)是一個快照,而非差異比較
變更文件直接copy,未變更文件指向上一個版本
需切換到某個commit時,直接load
空間換時間(而非保存差異,做merge)

2、幾乎所有操作本地執行

目前GIT已經可以在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法類似,Windows版本的GIT提供了友好的GUI(圖形界面),安裝後很快可以上手。

? 創建一個版本庫:git init

這樣,一個空的版本庫就創建好了,並在當前目錄中創建一個叫 .git 的子目錄。

? 增加內容跟蹤信息:git add

? 提交內容到版本庫:git commit

? 管理分支:git branch

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved