1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯網營銷解決方案
      AndroidapplicationId和包名的區(qū)別有哪些

      這篇文章主要介紹Android applicationId和包名的區(qū)別有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

      創(chuàng)新互聯建站是專業(yè)的天心網站建設公司,天心接單;提供成都網站設計、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行天心網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

      應用ID與包名區(qū)別

      每個Android應用都有一個唯一的應用ID.在Android設備和市場上,這個ID是你應用的唯一標識.若想在市場上更新應用,新應用的ID必須和原來apk的應用ID一致.所以一旦發(fā)布了應用,就不能再改變應用ID.

      在Eclipse中沒有applicationId這個概念,在Eclipse中applicationId即等同于包名。但是到了Android Studio中,這兩個概念做個區(qū)分。包名的定義在清單文件中:

      應用ID是在moudle層的build.gradle中定義,applicationId值即為應用ID,如下所示:

      android {
      defaultConfig {
        applicationId "com.example.myapplicationtest"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
      }
      ...
      }

      但是,在Android Studio中創(chuàng)建一個新項目時,applicationId默認是和項目的包名一致的。所以常常有開發(fā)者會將兩者混淆,以為它們是一個概念。實際上,應用ID和包名是相互獨立的。改變包名不會影響應用ID,反之亦然。

      通常Android的應用ID與包名是綁定的,所以在Android API中,一些方法和參數從名稱上看似乎它們返回的是包名,事實上它們返回的是應用ID值.例如,Context.getPackageName()方法返回的是應用ID,而不是包名。不信我們來看:

      圖中,包名是:com.example.myapplicationtest 應用ID:com.example.myapplicationtest.id

      在MainActivity中調用如下代碼:

      String applicationId = this.getPackageName();Log.i("TESTKIM","applicationId:" + applicationId);

      打印日志文件,如下:

      • 應用ID的命名并不是隨意的,它至少需要需遵循以下限制:

      • 應用ID至少包含兩部分(也就是說至少有一個點,如com.example);

      • 每部分必須以字母開頭;

      • 所有字符必須是字母數字或者下劃線[a-zA-Z0-9_]

      注意:

      如果你使用了webview,請使用包名作為應用ID的前綴,否則,有可能會報錯.

      應用ID用處

      應用ID除了唯一標識了應用,那么它在開發(fā)過程中可以有哪些用處呢?

      試想一下,當我們開發(fā)應用的時候,要在一臺測試機上同時裝上開發(fā)版和發(fā)布版,如何才能做到呢?其實很簡單,只要讓開發(fā)版的應用ID與發(fā)布版不一致即可。所以,只需要在buildTypes中修改開發(fā)版的應用ID就行。如下:

      android {
      ...
      buildTypes {
        debug {
          applicationIdSuffix ".debug"  //等同于“com.example.myapplicationtest.debug”
        }
      }
      }

      上面代碼中,將debug版的應用ID在原來應用ID后追加“.debug”。applicationIdSuffix代表了默認的應用ID,即為defaultConfig中applicationId的值。所以,debug版的應用ID為:”com.example.myapplicationtest.debug”.

      另外,有時我們發(fā)布到市場的應用希望有不同的版本,比如:免費版和收費版。這就需要我們來構建不同的應用變體。那么我們可以在productFlavors中進行相應的配置,來生成不同的應用。如:

      android {
      defaultConfig {
        applicationId "com.example.myapplicationtest"
      }
      productFlavors {
        free {
          applicationIdSuffix ".free"
        }
        paid {
          applicationIdSuffix ".paid"
        }
      }
      }

      在上面的代碼中,我們用”free”表示免費版,用”paid”表示付費版。在productFlavors中,通過配置不同應用ID,最終生成不同的應用。最終這兩種應用apk可同時存在于市場中。

      修改包名

      默認情況下,包名與應用ID是相同的。當然,開發(fā)者也可以對包名進行修改.如果開發(fā)者想要修改包名的話,注意項目目錄結構必須與AndroidManifest.xml中package屬性的包名一致.

      package值有兩個作用:

      它為R.java文件提供了命名空間,例如R class的包名為com.example.myappcationtest.R

      決定manifest中聲明的class的相對名稱。如:manifest中聲明的 的真實路徑為:com.example.myapplicationtest.ManiActivity

      如果開發(fā)者想修改包名,必須確保manifest中package值也做了同步修改.

      以上是“Android applicationId和包名的區(qū)別有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!


      標題名稱:AndroidapplicationId和包名的區(qū)別有哪些
      當前URL:http://ef60e0e.cn/article/iggijg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        扶绥县| 米泉市| 龙南县| 昌都县| 永寿县| 海晏县| 肇东市| 建水县| 彰武县| 侯马市| 巴彦淖尔市| 江西省| 丽江市| 那坡县| 通榆县| 上虞市| 措美县| 儋州市| 龙门县| 东阿县| 磐安县| 泸溪县| 永泰县| 铁力市| 巴中市| 大田县| 桐庐县| 昌邑市| 正镶白旗| 宜城市| 桦南县| 公安县| 类乌齐县| 正阳县| 祁连县| 宜川县| 井陉县| 涟源市| 望奎县| 普兰店市| 新平|