Android - 關於裝置版本號碼

來源:互聯網
上載者:User

標籤:

裝置資訊可以在Settings - About 裡看到

最近想改機器的build number,找到了 build/core/Makefile 裡的定義

# Display parameters shown under Settings -> About Phoneifeq ($(TARGET_BUILD_VARIANT),user)  # User builds should show:  # release build number or branch.buld_number non-release builds  # Dev. branches should have DISPLAY_BUILD_NUMBER set  ifeq "true" "$(DISPLAY_BUILD_NUMBER)"    BUILD_DISPLAY_ID := $(BUILD_ID)-$(BUILD_NUMBER) $(BUILD_KEYS)  else    BUILD_DISPLAY_ID := $(BUILD_ID) $(BUILD_KEYS)  endifelse  # Non-user builds should show detailed build information  BUILD_DISPLAY_ID := $(build_desc)endif

可看出非user版BUILD_DISPLAY_ID用的是build_desc

可以搜尋到

build_desc := $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT) $(PLATFORM_VERSION) $(BUILD_ID) $(BUILD_NUMBER) $(BUILD_VERSION_TAGS)

開啟 build/core/build_id.mk ,可以修改BUILD_ID

重新編譯代碼即可

 

源碼  Build.java  (base/core/java/android/os) 有對這些資訊的引用

想要在apk中取得的話,直接調用Build這個類即可

例如:

Build.DISPLAY  返回的就是一個String

 /** A build ID string meant for displaying to the user */    public static final String DISPLAY = getString("ro.build.display.id");

弄一個介面show_info.xml,顯示目前的版本的資訊。介面裡放著很多TextView。

MainActivity.java 如下。取出各個狀態資訊

public class MainActivity extends Activity {    private TextView buildTextView;    private TextView idTextView;    private TextView productTextView;    private TextView boardTextView;    private TextView deviceTextView;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.show_info);        buildTextView = (TextView) findViewById(R.id.build_number);        idTextView = (TextView) findViewById(R.id.build_id);        productTextView= (TextView) findViewById(R.id.product);        boardTextView= (TextView) findViewById(R.id.board);        deviceTextView= (TextView) findViewById(R.id.device);               buildTextView.setText(Build.DISPLAY);        idTextView.setText(Build.ID);        productTextView.setText(Build.PRODUCT);        boardTextView.setText(Build.BOARD);        deviceTextView.setText(Build.DEVICE);    }}

裝上後,在機器上可以看到相關資訊

Android - 關於裝置版本號碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.