<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android逆向學習02

      今天遇到的問題是,把別的代碼導入到現有的AS中,由于別的地方的代碼中使用的SDK和build-tools版本,與現在AS中已裝的SDK和build-tools版本不一致,導致一致有錯誤。

      查看自己AS裝的SDK的版本

      查看build-tools的版本

      在gradle中查看導入的代碼使用的SDK和build-tools版本。

      gradle:是一個工具,同時它也是一個編程框架。使用這個工具可以完成app的編譯打包等工作;

      compileSDKVersion屬性值,定義程序編譯選擇哪個Android SDK版本進行檢查和警告,

      compileSdkVersion顧名思義,就是用來編譯源代碼所使用的 API 版本。

      也就是說在寫代碼的時候,所引入的 android.jar 的版本。這個只是編譯期間使用,并不是真實設備上運行 APK 的 API Version。

      比如原來寫好的代碼,我們引入的是SDK25上的hello(parm)。
       
      現在我們導入到AS中,發現我的電腦上只有SDK28,并且這個版本的hello函數已經沒有了,變成了hello(parm,parm1),那么就會導致編譯不通過。
       
       

      targetSdkVersion代表著目標版本,在編譯的時候會將該版本的api編譯進apk中。

      compileSdkVersion代表著編譯的時候,會采用該api的規范進行代碼檢查和警告,但是并不會編譯進apk中

      為什么 compileSdkVersion 并不會影響真實運行的 API Version 呢,因為 android.jar 只是為了讓我們寫的代碼能夠成功生成 class 文件,真實運行的其實是設備上 的 ROM 包,我們可以看到 android.jar 有很多類其實就只是一個空方法,并沒有具體的實現

       

      buildToolsVersion

      顧名思義,就是構建工具的版本。所謂的構建工具其實就是指我們 sdk 下面的 build-tools 目錄。

      這個 build-tools 里面包含了我們打包構建所需要的一些工具,比如:

      • aapt: Android Asset Packaging Tool,也就是資源打包工具,將資源文件打包成 R.java 以及 .arsc資源文件
      • aidl: 將 aidl 文件 編譯為 java 接口類
      • dx: 將 class 文件打包成 dex 文件
      • apksigner: 將 打包成的 apk 文件進行簽名
      • zipalign: 將 簽名后的 apk 文件進行 zip 對齊,加快訪問速度

      buildToolsVersion 就是指定這些構建工具的版本

       

       

      targetSdkVersion

       targetSdkVersion 是 Android 系統提供前向兼容的主要手段。隨著 Android 系統的升級,某個系統的 API 或者模塊的行為可能會發生改變,但是為了保證老 APK 的行為還是和以前兼容。只要 APK 的 targetSdkVersion 不變,即使這個 APK 安裝在新 Android 系統上,其行為還是保持老的系統上的行為,這樣就保證了系統對老應用的前向兼容性。
      比如
      有個API在SDK1.0的時候,是一個樣子
      到了SDK2.0的時候, google 對這個API方法更新了,為了保持兼容性,
      就可以在使用的時候,先判斷配置的 targetSdkVersion,如果這個版本比較新大于等于 當前的SDK2.0,就調用新的打印方法,否則就用舊的打印方式。

       遇到的另一個問題:
       
       
      AS---->Build---->Make Project 會生成APK,
      posted @ 2020-09-23 21:18  一日學一日功  閱讀(149)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久久国产一区二区三区四区小说| 国产午夜成人无码免费看| 国产爆乳无码av在线播放| 国产美女裸身网站免费观看视频| 伊人久久大香线蕉综合网站| 国产区精品福利在线熟女| 精品国产成人三级在线观看| 2020国产欧洲精品网站| 亚洲啪啪精品一区二区的| 国产视频深夜在线观看| brazzers欧美巨大| 免费AV片在线观看网址| 开心激情站开心激情网六月婷婷| 最好看的中文字幕国语| 精品综合久久久久久97| 无码国产精品一区二区av| 国产精品无码无在线观看| 亚洲日韩久热中文字幕| 亚洲欧美日韩在线码| 亚洲性色AV一区二区三区| 日本妇人成熟免费| 久久久精品2019中文字幕之3| 亚洲av第三区国产精品| 国产午夜在线观看视频播放| 国产精品无码无卡在线播放| 亚洲av伦理一区二区| 亚洲色婷婷一区二区| 99国产精品欧美一区二区三区| 国产精品自拍视频第一页| 久久精品伊人狠狠大香网| 国产一二三五区不在卡| 欧美 亚洲 另类 丝袜 自拍 动漫| 中文字幕一区日韩精品| 国产高清一区二区不卡| 亚洲久久色成人一二三区| 日韩激情成人| 精品人妻一区二区三区蜜臀| 国产精品毛片在线完整版| 三年片在线观看免费观看高清动漫| 亚洲av成人在线一区| 亚洲熟少妇一区二区三区|