想问下安卓 apk 的版本号到底该怎么改呢

2019-05-11 03:15:03 +08:00
 TakanashiAzusa

对象是某个海外联网手游,需要用到他们的旧版本。但是现在一打开就提示我要更新版本不然不给进。

搜了下网络上的方法,按照教程改掉了 apktool.yml 和"original/AndroidManifest.xml"下的 versionCode 和 versionName,重新打包回去安装后系统自带的应用信息里确实显示是我要改的版本,但是打开软件后发现里面显示的还是旧版本号而不是新版本。

所以安卓 U3D 类的应用是除了这两个地方外还有其他能硬编码版本号的地方吗? 想问下各位像这种情况有什么解决办法吗?

9033 次点击
所在节点    Android
12 条回复
donething
2019-05-11 03:26:34 +08:00
全局搜索你当前的版本号,试试
TakanashiAzusa
2019-05-11 03:47:15 +08:00
@donething 谢谢,不过 apktool 反编译的文件夹里搜索版本号的结果太多了。。我其实是有点怀疑会不会是他们给写到 dll 文件里去了,不过这方面实在也没什么经验,所以。。
hugebug
2019-05-11 04:17:22 +08:00
开发的时候是在 app 下的 build.gradle 下改版本号
TakanashiAzusa
2019-05-11 04:22:22 +08:00
@hugebug
@donething
谢谢两位,自己搞定了。
zhilincom
2019-05-11 08:33:27 +08:00
dll ??什么时候安卓可以执行 windows 的动态链接库了?
nicevar
2019-05-11 09:03:02 +08:00
@zhilincom 没什么奇怪的,unity3d 开发的游戏 apk 里面一大堆 dll,动态库加载这种可以自己实现的
qianji201712
2019-05-11 09:31:03 +08:00
其实有一个楼主不知道的事实就是,很多 Android app 不用 AndroidManefest.xml 里面的版本号,为什么呢?因为常见的各种应用市场抓包问题,会导致一个渠道的 Apk,被其他几个渠道抓过去使用。
版本号其实就是一个数字,自己在 Apk 里面定义一个变量就好,每次发版看情况更改这个变量就好,当然 AndroidManefest 里面的版本号,也是在维护的,等于有对内、对外两个版本号
kevinlm
2019-05-11 09:33:54 +08:00
应该是硬编码写死一个数字的。极少数用项目本身的版本号
TakanashiAzusa
2019-05-11 10:19:42 +08:00
@qianji201712 其实我没懂这个如何应对渠道抓包问题呢?意思是对内对外不一样的版本号吗
LimeVista
2019-05-11 14:40:59 +08:00
一般做 App 会有个动态的数据结构(架构)版本号,用做升级数据,写在配置或数据库里面,至少还有一个或多个写死的当前版本号。并不会直接使用 app 自身的版本号,多渠道分发的时候弊端就出来了。
mmdsun
2019-05-11 14:45:28 +08:00
@zhilincom Xamarin 开发安卓 可以把 jar 包变成 dll
alfchin
2019-05-11 15:00:29 +08:00
这种是服务端验证的,本地改了也未必能用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/563036

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX