欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

AndroidapplicationId和包名的區(qū)別有哪些

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

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

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

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

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.example.myapplicationtest" >

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

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

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

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

圖中,包名是:com.example.myapplicationtest 應(yīng)用ID:com.example.myapplicationtest.id

在MainActivity中調(diào)用如下代碼:

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

打印日志文件,如下:

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

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

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

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

注意:

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

應(yīng)用ID用處

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

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

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

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

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

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

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

修改包名

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

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.example.myapplicationtest"  android:versionCode="1"  android:versionName="1.0" >

package值有兩個作用:

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

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

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

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

文章題目:AndroidapplicationId和包名的區(qū)別有哪些
本文網(wǎng)址:http://aaarwkj.com/article26/iggijg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、云服務(wù)器、企業(yè)建站、電子商務(wù)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
日韩无码一区二区视频| 91精品人妻互换一区二区| 中文字幕日韩不卡顿一区二区| 福利1中文字幕手机在线| 成人性生活毛片免费视频| 日韩欧美在线一区二区| 免费爱爱视频在线观看| 精品欧美一区二区精品| 亚洲精品区免费观看av| 老女人性生交大片免费| 日韩精品在线免费观看了| 日本欧美国产一区二区| 国产精品99久久久久久宅男九| 日本韩国黄色三级三级| 日韩精品一区二区三区欲色av| 91国产在线视频免费观看| 欧美福利区免费观看视频| 国产青草视频免观看视频| 国产免费av剧情演绎| 国产综合亚洲欧美日韩| 97国产精品亚洲精品| 亚洲精品国产av成人| 亚洲一区二区三区av蜜桃| 久久精品亚洲夜色国产av| 国产精品一区二区久久毛片| 国产激情一区二区三区不卡| 国语av一区二区三区| 亚洲av午夜福利麻豆av| 亚洲一二三无人区是什么| 亚洲三级伦理在线视频| 国产爆操美女在线观看| 午夜福利中文在线观看| 亚洲熟妇av乱码在线| 久久人妻少妇嫩草av蜜桃综合| 国产精品精品国产一区二区 | 少妇高潮视频在线观看| 亚洲熟妇丰满多毛的大昊| 亚洲av一本岛在线播放| 国内一级黄色片免费观看| 亚洲另类欧美日韩中文字幕| 东京热男人的av天堂|