1. 程式人生 > >手把手教你純命令列打包apk

手把手教你純命令列打包apk

我使用的環境變數的配置:

Jdk1.6\bin

Sdk\tools

第一部分:通過命令列建立簡單的android專案

1.在建立安卓專案的目錄中開啟命令列視窗

2.在命令列視窗中輸入命令(命令寫在一行上)

>android create project

--target <target_ID>

--name <專案名稱>

--path <專案的路徑>

--activity <Activity的名稱>

--package <專案的包名>

 android create project--target7--name

Demo --path D:\Z_test\Demo--activity MainActivity--packagecom.demo.www

                  注:1.不知道的命令可以使用 >android --help來檢視

                         2.target_ID指的是當前擁有的APIid號,使用命令>android list target  來檢視

                         3.接下來進入專案中進行操作 >cd Demo

第二部分:命令列打包(有的目錄沒有隨著安卓專案的建立而建立,需要手動建立,

使用命令>mkdir <檔名>

                        1.生成R.java檔案

                        a.建立gen目錄>mkdir gen  這是在當前專案的目錄下的命令列,所以直接輸入想起的檔名就可以了,絕對路徑也是可以

                    

                  b.執行aapt命令生成R.java檔案

                  >aapt package -f -m -J gen -S res -I E:\sdk\platforms\android-19\android.jar -M AndroidManifest.xml

 

                          2.將java檔案編譯成class檔案

                          >javac -encoding UTF-8 -target 1.6 -bootclasspath E:\sdk\platforms\android-19\android.jar -d bin src\com\demo\www\*.java gen\com\demo\www\R.java

 

                  注:a.-target 1.6  是指jdk的版本,經驗是使用1.6的編譯dex時不會出現問題,使用1.7就不能編譯成功

                         b.-d bin src\com\demo\www\*.java   -d  表示指定存放生成的class檔案的位置,後面就是要編譯的java檔案

                    3.生成dex檔案(注意:使用絕對路徑)

                    >dx --dex --output=D:\Z_test\Demo\bin\classes.dex D:\Z_test\Demo\bin

 

                        注:前面是dex檔案 ,後面是操作的目錄,也就是存放到的目錄

                    4.生成資源包檔案

                    >aapt package -f -M AndroidManifest.xml -S res -A assets -I E:\sdk\platforms\android-19\android.jar -F bin\resources

 

5.生成未簽名的apk包(sdk3.0以後將apkbuilder刪除了)

>java -cp E:\sdk\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain Demo.apk -v -u -z bin\resources -f bin\classes.dex -rf src

 

  效果:

 

第三部分:命令列生成簽名檔案

              >keytool -genkey -alias key_demo.keystore -keyalg RSA -validity 20000 -keystore key_demo.keystore

 

        注:資料夾下的key_demo.keystore就是我們需要的簽名檔案  20000表示證書的有效天數

第四部分:用生成的簽名檔案對未簽名的apk進行簽名(jdk一定要是1.6)

                   >jarsigner -verbose -keystore key_demo.keystore -signedjar demo_signed.apk D:\Z_test\Demo\demo.apk key_demo.keystore

 

我在使用jdk1.7時,簽名後會出現以下警告:

警告:
未提供 -tsa 或 -tsacert, 此 jar 沒有時間戳。如果沒有時間戳, 則在簽名者證書的到期
日期 (2063-07-18) 或以後的任何撤銷日期之後, 使用者可能無法驗證此 jar。

第五部:最後驗證是否簽名成功

              >jarsigner -verify demo_signed.apk



相關推薦

手把手命令打包apk

我使用的環境變數的配置: Jdk1.6\bin Sdk\tools 第一部分:通過命令列建立簡單的android專案 1.在建立安卓專案的目錄中開啟命令列視窗 2.在命令列視窗中輸入命令(命令寫在一行上) >android create project --t

手把手命令工具

命令列工具,即 Cli(command-line interface)。是在圖形使用者介面得到普及之前使用最為廣泛的使用者介面,它通常不支援滑鼠,使用者通過鍵盤輸入指令,計算機接收到指令後,予以執行。 在學習這篇教程之前,你需要先了解NodeJs,NPM和一些常用的shel

apk編譯流程學習之Windows下命令打包apk

總結記錄下這兩天的主要學習成果,其中借鑑了網上很多資料,終於成功打包出測試apk檔案並執行。 準備知識挺多的(也是自己太菜了): 1.Android中apk與dex的區別 1. *.apk檔案 APK是Android Package的縮寫,即Android安裝包。通過

android studio關於命令打包apk

前言: 最近剛接觸studio,由於專案需要打包apk,就嘗試用命令列來進行打包.下面做一下總結: 第一:需要在studio專案中配置 signingConfigs { config { keyAlias 'imo' keyPassword 'imo123' stor

手動 命令打包 apk 示例(在最下面)

5使用Android SDK提供的aapt.exe生成資源包檔案(包括res、assets、androidmanifest.xml等): F:\explorer\AndroidByread>F:\explorer\android-sdk-windows2.2\platforms\android-3\to

離線gradlew命令打包apk設定

gradle離線模式設定 修改 gradle 位置,配置檔案位置在於Project目錄下 ./gradle/wrapper/gradle-wrapper.proerties 新增或修改 distributionUrl 設定,原值應該是 https://services.gradle.org/distri

手把手怎樣用命令apk簽名

        最近因為專案上線,要配合運營的童鞋們上傳各渠道apk,其中,搜狗的渠道因為遷移問題,需要給一個他們提供的空的apk簽名,然後用公司的簽名檔案進行簽名 沒辦法,只能手動給apk簽名,網上搜索一片均不太完善,特總結一下成功的經驗供各位童鞋參考!         首先,相信各位童鞋都已配好j

手把手使用nodejs編寫cli(命令)

前端日常開發中,會遇見各種各樣的cli,比如一行命令幫你打包的webpack,一行命令幫你生成vue專案模板的vue-cli,還有建立react專案的create-react-app等等等等。這些工具極大地方便了我們的日常工作,讓計算機自己去幹繁瑣的工作,而我們,就可以節省出大量的時間用於學習、交流、開發、逛

技術流 | 手把手用Python設計一個命令介面

作者 | Yannick Wolff         譯者 | 劉旭坤         整理 | Jane

手把手配置mac下最牛X的命令工具:iTerm2+oh-my-zsh(2018年)

如果你是一名mac下的開發者,那麼相信你一定會接觸到iTerm,難道你選擇mac作為自己的主力開發系統,其中之一的原因不就是,win下的命令列,不大好用嗎。 mac原生的Terminal不夠靈活,那麼怎麼配置一個靈活的、個性化的、得心應手的命令列工具呢? i

手把手開發docker一樣的命令

目錄前言一、安裝二、初始化應用初始化專案建立入口檔案cmd/root.go建立主程式main.go三、如何自定義命令建立hello子命令建立version子命令四、如何設定flag選項全域性選項本地選項設定必填繫結配置五、如何設定arguments使用示例六、如何使用引數獲取flag引數獲取args引數七、如

Android Cocos2dx引擎 prv.ccz/plist/so等優化緩存文件,手把手ida逆向project反編譯apk庫等文件

反編譯 packer ng- ace yaffs2 ces spa 即將 放棄 前段時間在 Android play 上看到一個非常牛逼的 3D 動態天氣預報,效果真的非常炫。二話不說動手 dex2jar.bat/apktool 發現這並沒 有什麽卵用,在核心的地方看見

0基礎手把手搭建webpack運行打包項目(未完待續)

蘊含 必須 asc 工具 過程 更多 關系圖 本地服務 spa   這些天在項目之余的時間學習了webpack打包項目的東西,非常榮幸的找到一些大神的文章來學習,死勁嚼了幾天,終於略知一二。在以後的工作上還需繼續學習,下面我將分享我這幾天學到的一點東西,希望能讓我一個還不算

幹貨!幹貨!手把手做雲專線互聯網備援接入-上集

雲專線 互聯網備案 教程 筆者是互聯通技術男一枚,處理過雲計算業務大大小小各種事宜,在各方強大的支持協助下,終於碼出了這篇“如何實現性價比超高的互聯網雲通道及專網雲通道備份!”。 **首先來說下這套方案的目的:** 為了解決客戶混合雲業務的連續性,確保雲端與線下數據交互的持續,穩定;

koa2+webpack4+React+pm2手工架子搭建,SSR專案入門教程以及流程指引詳解:手把手實現服務端首屏渲染SSR專案

本人全職喵姐,兼職程式設計師,才疏學淺,大神如果有好的idea能指點迷津的話感激不盡。以下專案為純手工搭建的Webpack4+React+KOA2+PM2前端豆腐渣工程,房子的簡陋模型,入門教程以及流程指引。後續要精裝修還是蓋茅草屋看你自己了……/微微笑(自帶表情包)……先學習…...

css:預設的checkbox、input、radio太醜了?手把手改變使用css3改寫的帶動畫的預設樣式

專案的github地址為: https://github.com/sunshine940326/css3formeledemo 本文首發於我的個人部落格,http://cherryblog.site/ ;歡迎大家檢視我的其他部落格 最近在

eclipse -- 手把手如何把java程式碼,打包成jar檔案以及轉換為exe可執行檔案

1、背景:     學習java時,教材中關於如題問題,只有一小節說明,而且要自己寫麻煩的配置檔案,最終結果卻只能轉換為jar檔案。實在是心有不爽。此篇部落格教你如何方便快捷地把java程式碼,打包成jar檔案以及轉換為exe可執行檔案 2、前言:     我們都知道Java可以將二進位制程式打包成可執

手把手AndroidStudio多渠道打包

根據博主做出修改:在Android studio 3.0 版本一會我們會 報錯下面就好好說說我們是怎麼解決的說到多渠道,這裡不得不提一下友盟統計,友盟統計是大家日常開發中常用的渠道統計工具,而我們的打包方法就是基於友盟統計實施的。按照友盟官方文件說明,渠道資訊通常需要在And

Android Cocos2dx引擎 prv.ccz/plist/so等優化快取檔案,手把手ida逆向工程反編譯apk庫等檔案

前段時間在 Android play 上看到一個很牛逼的 3D 動態天氣預報,效果真的很炫,二話不說動手 dex2jar.bat/apktool 發現這並沒 有什麼卵用,在核心的地方看見 native

手把手搭建caffe及手寫數字識別(Ubuntu下且附mac、通俗教程)

手把手教你搭建caffe及手寫數字識別作者:七月線上課程助教團隊,驍哲、小蔡、李偉、July時間:二零一六年十一月九日交流:深度學習實戰交流Q群 472899334,有問題可以加此群共同交流。另探究實驗背後原理,請參看此課程:深度學習線上班。一、前言    在前面的教程中,我