Android如何让apk不提示更新

首先解释下:Android的版本相关的 android:versionCode和android:versionName,它们在androidmainfest.xml中被定义。

  • android:versionCode:主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户。注意:该值是一个int型,所以它是有取值范围的,最大值不能超过:2147483647(int类型,在内存中占用4个字节(32位)取值范围-2^31 ~ 2^31-1)
  • android:versionName:这个是我们常说明的版本号,由三部分组成<major>.<minor>.<point>,该值是个字符串,可以显示给用户,该值会在应用管理里面显示,可以指定任意字符串。

当android:versionCode=2147483647时,编译生成apk里提取的AndroidManifest.xml,反编译看到的 android:versionCode="2147483647"

此时版本号达到最大值,理论上就不会有版本更新了。


当超过最大值时,如android:versionCode=2147483648时,

比最大值大1,反编译看到的 android:versionCode="-2147483648" (等于int型的最小值)

如android:versionCode=2147483649时,

比最大值大2,反编译看到的 android:versionCode="-2147483647" (等于int型的最小值 + 1)


root@xujing:~/桌面# java -jar AXMLPrinter2.jar AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="2147483647"
    android:versionName="1.0"
    package="com.gangyun.makeup"
    >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18"
        >
    </uses-sdk>
    <application
        android:label="@7F030000"
        android:icon="@7F020000"
        android:debuggable="true"
        android:allowBackup="true"
        >
    </application>
</manifest>

展开阅读全文

没有更多推荐了,返回首页