1. 程式人生 > >gradle 編譯android APK

gradle 編譯android APK

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

	//簽名
	signingConfigs {
		myConfig{
			storeFile file("android.key")
			storePassword "123456"
			keyAlias "xtxk"
			keyPassword "123456"
		}
	}

	buildTypes{
		release {
			signingConfig signingConfigs.myConfig
		} 
	}
	//下面的程式碼開始打批量包  
    productFlavors {  
<span style="white-space:pre">		</span> txyyb{  
<span style="white-space:pre">		</span>    //替換manifest檔案中的佔位符(placeHolder)  
<span style="white-space:pre">			</span>manifestPlaceholders = [UMENG_CHANNEL_VALUE:"txyyb"]  
<span style="white-space:pre">		</span> }  
<span style="white-space:pre">		</span> wandaojia{  
<span style="white-space:pre">			</span>manifestPlaceholders = [UMENG_CHANNEL_VALUE:"wandaojia" ]    
<span style="white-space:pre">		</span> }  
<span style="white-space:pre">		</span> sjzs{  
<span style="white-space:pre">			</span>manifestPlaceholders = [UMENG_CHANNEL_VALUE:"360sjzs" ]    
<span style="white-space:pre">		</span> } 
<span style="white-space:pre">		</span> //在下面繼續新增不同渠道的渠道程式碼  
    }  	
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

		packagingOptions {  
            exclude 'META-INF/DEPENDENCIES'  
            exclude 'META-INF/NOTICE'  
            exclude 'META-INF/LICENSE'  
            exclude 'META-INF/LICENSE.txt'  
            exclude 'META-INF/NOTICE.txt'  
        }  
		
		lintOptions{
		    abortOnError false
		}
	
		
        // 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')
    }
}
這個中需要注意的點:

相關推薦

gradle 編譯android APK

buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.2.+' } } apply plu

編譯Android APK詳細操作指南[ApkTool,dex2jar,JD-GUI] for Mac

早在4年前我曾發表過一篇關於《Android開發之反編譯與防止反編譯》的文章,在該文章中我對如何在Windows平臺反編譯APK做了講解,如今用Mac系統的同學越來越多,也有很多朋友問我能否出一篇關於如何在Mac平臺上反編譯APK的文章,今天呢我就抽時間來寫一下在Mac平臺上如何反編譯A

Jenkins配置gradle編譯android專案

Jenkins配置gradle 本文介紹jenkins配置gradle,廢話就不說了,直接上圖說明。 這裡主要說明在配置完成gradle後,對Root Build script和Build File的處理,第一個為專案在jenkins的根目錄,第二個為專案的

Qt for Android gradle編譯同時輸出多個渠道apk

前言 Gradle是Android目前主流的編譯工具,Gradle剛出來的時候確實有很多詬病,比如編譯速度,那真是一個慢啊,不過隨著版本的更新,現在的gradle可比當年牛逼多了,功能也越來越完善,畢竟是谷歌的親兒子。那麼在用Qt 做android開發時候,也是預設使用Gradle來

Android Apk的反編譯和加密

打不開 源文件 資源 left 結果 blog 9.png 規則 找到   這幾天在上海出差,忙裏偷閑學習了一下Apk的反編譯工具的基本使用。下面就簡單介紹一下如何將我們從網上下載的Apk文件進行反編譯得到我們想要獲得的資源文件和源碼。 一、Apk文件組成   Androi

Android APK編譯就這麽簡單 詳解(附圖)

雙擊 整合 cmd 進行 自我 nts clas 以及 思路 在學習Android開發的過程你,你往往會去借鑒別人的應用是怎麽開發的,那些漂亮的動畫和精致的布局可能會讓你愛不釋手,作為一個開發者,你可能會很想知道這些效果界面是怎麽去實現的,這時,你便可以對改應用的APK進行

Android APK編譯 apktool使用教程

文件夾 ossh ng- 右鍵 xmu shape func prev pos 2017年棋牌遊戲突然就火了,正所謂春江水暖鴨先知本猿處在軟件行業中就能清晰的感受到市場的變化,最近老家那邊也是玩的風生水起,於是最近閑暇時光想到反編譯下這些棋牌軟件,看看代碼實現的思路

Android APK編譯

exe 下載 最新 free size 輸出 布局文件 最新版本 style 1.官方最新版本下載地址 http://java.decompiler.free.fr/?q=jdgui 2.反編譯流程: ①dex2jar (將apk反編譯成java源碼(classe

Gradle命令行編譯Android工程

led app oid 錯誤 windows failure except per AI 在Android sdk 目錄下的samples/android-21/ 文件夾下,任找一個工程,如果在命令行直接編譯 可能會報這種錯誤:gradle buile.gradle FA

Android apk編譯-----【附:反編譯工具】

        Android應用開發完成之後,我們最終都會將應用打包成一個apk檔案,然後讓使用者通過手機或者平板電腦下載下來進行安裝。正常情況下,Android應用打包成apk之後,就無法再看到開發這個應用時使用的資原始檔以及程式碼了。但是我們通過網上提供

使用 apktool 工具對 Android APK 進行反編譯與回編譯

原文:https://testerhome.com/topics/12075?locale=zh-TW keytool -genkey -keystore ~/bm.keystore -alias bm -keyalg RSA -validity 10000 jarsigner -v

Android .apk 檔案反編譯

要通過對 .apk 檔案進行反編譯得到 java 原始碼,需要如下兩個工具: dex2jar - https://sourceforge.net/projects/dex2jar/ Java Decompiler - http://jd.benow.ca/

Android Studio Gradle編譯 引數配置

你是否在使用AS進行開發時遇到編譯出現了錯誤,但是Build輸出了只是簡單的Task任務出錯之類的資訊,完全看不出哪裡出現了問題。 其實只需要設定一下Gradle Command-line Options就可以了。 如下圖: 新增option --full-stacktr

Android配置build.gradle編譯release包以日期加序列號自增長為Version Code以及Version Name區分不同型別(三)

Android配置build.gradle編譯release包以日期加序列號自增長為Version Code以及Version Name區分不同型別(三) 前幾篇文章介紹瞭如何通過配置build.gradle實現在編譯release包時候,Version Code動態的以日期+序列號的形式自

Android配置build.gradle編譯release包時以日期時間加序列號為Version Code且Version Code自動增長(二)

Android配置build.gradle編譯release包時以日期時間加序列號為Version Code且Version Code自動增長(二) Android官方推薦以一個自然增長的整數值為Version Code,比如以基礎數值1為基礎,每次發一個release包時候Version值

Android Studio中Gradle自定義APK名稱及輸出路徑

使用AndroidStudio生成Android APK時候,往往需要指定APK輸出路徑及重新命名APK。 因此在Gradle中編碼,以實現上述需求: android { ...// 省略已存在程式碼 applicationVariants.all {

【Jenkins學習 】解決Jenkins節點編譯android專案出現錯誤:[Gradle]

一、錯誤描述 今天Jenkins節點編譯伺服器出現了磁碟不足,在該節點伺服器上移動了部分目錄,刪除了部分檔案之後,再次編譯的時候出現了錯誤,如下所示: [Gradle] - Launching build. [Gradle] - [ERROR] Can't re

android apk編譯(反編譯—改程式碼—再編譯—簽名)

1.工具(請到網站搜尋並自行下載):     ①apktool(反編譯:能得到圖片資源與佈局檔案等)     ②dex2jar(反編譯:能得到activity等java程式碼)     ③jd-gui(檢視dex2jar得到的java檔案)     ④手機簽名工具

Android Apk編譯 dex2j遇到如下問題 com.googlecode.d2j.DexException: not support version.

控制檯執行 如下命令 d2j-dex2jar.bat classes.dex //報如下錯誤 com.googlecode.d2j.DexException: not support version. at com.googlecode.d2j.read

android apk編譯打包過程

       Android安裝包的字尾都是.apk, apk是Android Package的縮寫。 解壓apk檔案後包含AndroidManifest.xml、assets目錄、classes.dex(還可能有 classes2.dex,classes3.dex...cl