Ⅰ android開發怎麼獲取包名
PackageManager manager = this.getPackageManager();
PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
info.packageName就是包名
Ⅱ android安裝的時候獲取包名
一般這種信息都是放在清單文件中的meta-data標簽中吧
<meta-data
android:name="名字"
android:value="推廣碼" />
context.getApplicationInfo().metaData.getXXX("名字");
Ⅲ android包名和應用名的區別
區別:
包名:是一種文件層次結構,比如你在C盤下建立了文件夾 packet,在packet下建立了文件夾:packetOne,在packetOne下建立了文件夾:packetTwo。 那麼包名就是:packet.packetOne.packetTwo
應用名: 是你創建的應用的名字,比如微信這個應用,你創建在packetTwo這個文件夾下。
包名就是開發者定義的名字,這個名字可以隨便定義,應用名字是開發包中定義好的。你可以修改包名字,但是應用名字如果開發者不修改你是修改不了的。
Ⅳ 為什麼android的package name的名字一般以com.開頭
這和android沒什麼關系,是java的包名命名規范。
一般java的包名命名規范是 com.公司名.項目名
Ⅳ android系統中包名為android是什麼應用
下載一個叫「Link2sd」的應用程序,安裝後即可看到手機內應用的包名了,望能採納謝謝!
Ⅵ 新建Android項目時的包名
這樣做是希望程序不要造成命名空間污染。 也就是說你現在取的名字可能以後你又會取相同的名字,這樣就沖突了。 為了避免這種情況發生,就最好一開始就取得復雜一點。
比方說郵政編碼: 414414,這裡麵包含了你的省份,市,縣,街的信息, 我記得前兩位是省,然後市,然後縣或區,,
如果當初設計郵政的人只把郵編設計成3位,而不是6位,那麼很快這些號碼就會被用光。因為3位數最大才表示999個鄉鎮,而6位數可以表示 10萬個鄉鎮。
同樣道理,如果好好規劃 com.mstar.games.chess.XXX這樣一個包,表示mstar公司,游戲項目組,中國象棋項目。
而如果沒有好好規劃的反而例子是:
1。 com.chess來表示,那全天下做chess的開發人員上萬名,就會沖突
2。 com.mstar來表示, 那mstar公司有多個部門多個項目,下次別人也想取這個名字,或者出了問題也不知道是哪個部門負責任。
Ⅶ 如何簡單快速獲取Android應用包名
如果是要獲得手機上的已安裝的APP的包名,那麼請下載包名查看器軟體,直接可以查看.
現在要說的是有一個APP安裝包,獲取包名的方法:(需要安裝NotePad++)
將安裝包後綴.apk改為.zip(.rar)
雙擊打開解壓包,找到AndroidManifest.xml,將它單獨解壓出來即可
如果沒有NotePad++也可以嘗試在線查看xml文件,查找manifest關鍵字
Ⅷ android Package name 是什麼,有什麼用
1、package name是指一個應用的包名,是Android系統中為每一個應用程序分配的一個標識,每個應用的標識都必須是不同的
2、作用:把每個應用區別開,通過package name可以打開app
Ⅸ 如何查看Android應用apk的包名和入口Activity名稱
Android開發過程中我們有時需要使用第三方apk資源,而啟動第三方apk在某些情況下需要指定相應的包名和啟動的Activity名,這個時候就需要獲取這兩個名稱,我們可以使用如下三種方法:
1、使用aapt //aapt是sdk自帶的一個工具,在你安裝的Eclipse路徑下的sdk\build-tools\中,如我的是D:\Eclipse\androidTools\sdk\build-tools\android-4.4.2,如果你下載有apk反編譯工具,也可以直接使用裡面的aapt
以「GO備份.apk」為例,先進入cmd命令行窗口,然後運行:D: -> Eclipse\androidTools\sdk\build-tools\android-4.4.2
-> aapt mp badging C:\Users\Administrator\Desktop\GO備份.apk,即可獲取到AndroidManifest.xml中我們需要的內容,如
package: name='com.jiubang.go.backup.ex'
launchable-activity: name='com.jiubang.go.backup.pro.StartupPageActivity'
2、查看AndroidManifest.xml
同樣是查看AndroidManifest.xml,這里我們可以採用反編譯方法來獲取信息,同樣是打開cmd命令行窗口,然後運行:E:
-> apk反編譯工具\apktool\apktool -> apktool.bat d -f C:\Users\Administrator\Desktop\GO備份.apk GO備份,然後打開「GO備份」文件夾,打開droidManifest.xml文件,找到manifest節點的package屬性值package="com.jiubang.go.backup.ex"語句即為包名,查找android.intent.action.MAIN和android.intent.category.LAUNCHER對應的activity,該activity對應的android:name屬性即為入口activity名稱,如<activity
android:name="com.jiubang.go.backup.pro.StartupPageActivity"。
3、使用uiautomatorviewer
可以直接在命令行輸入uiautomatorviewer,打開獲取屏幕截圖工具,連接手機,打開所要獲取包名的應用,然後獲取其截圖,根據截圖查看package即可,uiautomatorviewer的使用這里就不做介紹了。使用這個需要注意的是,該app必須是有界面的,否則無法獲取。
另外,
android.intent.action.MAIN 屬性決定應用程序最先啟動的Activity
android.intent.category.LAUNCHER屬性決定應用程序是否顯示在程序列表裡
Ⅹ android packname 和apllication id有什麼區別
下面介紹來自於android學習手冊,裡面有源碼。android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,文檔都採用文檔結構圖顯示,可以快速定位。360手機助手中下載,圖標上有貝殼
所有的 Android 應用程序都有一個包名。包名是設備上的這個應用程序的唯一標識,也是在谷歌Play商店上的唯一標識。這意味著,一旦你已發布的程序使用了這個包名, 你就永遠都無法改變它;如果修改了就會導致你的應用程序被當作是一個全新的應用程序,你之前的應用程序的用戶也不能更新到使用了新的包名的安裝包。
在此前的 Android Gradle 構建系統中,您的應用程序的包名由你的manifest文件的根元素里的package屬性決定:
AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.my.app"
android:versionCode="1"
android:versionName="1.0" >
然而,這里所定義的包也有第二個目的:它被用來命名你的資源類的包(以及解析任何相關的Activity的類名)。在上面的示例中,生成的 R 類將會是com.example.my.app.R,因此如果您其他包裡面的代碼需要引用這些資源,就需要導入com.example.my.app.R。
使用新的 Android Gradle 構建系統,你可以輕松構建多個不同版本的應用程序;例如,您可以構建一個「free」版本和「pro」版本的應用程序 (通過使用flavors),並且這些不同版本的程序在 Google Play 商店上應該有不同的包,這樣他們可以被單獨安裝和購買,或者是同時安裝兩個,等等。同樣,您還可以同時創建「debug」、「alpha」和「beta」版本的應用程序 (使用build types),而這些版本的程序同樣可以使用唯一的包名。
同時,您想要在代碼中導入的 R 類必須在這段時間內保持不變 ;在您正在構建您的應用程序的不同版本時您的.java 源文件不應該被更改。
因此,我們解耦了包名稱的兩種用法:
最終的方案是,在您生成的.apk 的manifest 中,並且用於在你的設備和 Google Play 商店來標識你的應用的包,叫做「application id」。
用於在源代碼中來引用您的R類的,並且是解析任何相關的Activity/Service 注冊的包,繼續被稱為「package」。
你可以在你 gradle 文件中,指定application id,如下所示:
app/build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1"
defaultConfig {
applicationId "com.example.my.app"
minSdkVersion 15
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
...
像以前一樣,你需要在 Manifest 文件中指定用於代碼的包,就如上面的AndroidManifest.xml示例一樣。
這里說到了最關鍵的部分:當你像上面那樣做時,這兩個包是互相獨立的。你能夠完全自由地重構您的代碼——更改用於Activity和Service的內部包,更新你的Manifest里的包,和重構您的導入語句。這都不會影響到你的程序的最終id,這個最終的id的值總是為你的Gradle文件中指定的applicationId的值。(筆者註:packageName在代碼中使用,通常在AndroidManifest.xml中指定,applicationId則只是用於程序的標識,通常在build.gradle中指定。這樣有一個好處,假如你想發布一個免費版,一個收費版,你只需要在build.gradle中把applicationId後面加上免費版的後綴包名(如".free"),收費版加上收費版的後綴即可,而不需要修改你的其他代碼。)
你可以通過使用以下的 Gradle DSL 方法,為不同的flavors和構建類型修改您的應用程序的 applicationId:
app/build.gradle:
proctFlavors {
pro {
applicationId = "com.example.my.pkg.pro"
}
free {
applicationId = "com.example.my.pkg.free"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
....
(在 Android Studio 中,您也可以在項目結構對話框中圖形化地進行這些配置。)
注意: 出於兼容性原因,如果您沒有在您的 build.gradle 文件中定義 applicationId,這個applicationId 將默認為 AndroidManifest.xml 中所指定的相同的值。在這種情況下,這兩個顯然未解耦,並且如果你試圖重構您的代碼也將會意外地更改您的應用程序的 id !在 Android Studio 中,新建的項目始終會指定這兩個值。
注 2: 包名稱必須始終在默認 AndroidManifest.xml 文件中指定。如果您有多個manifest (例如一個 flavor 的特定的manifest或一個 buildType 的特定的manifest),該包名是可選的,但如果它被指定了,它必須和主manifest中指定的包完全相同。