Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过java代码将android.apk复制到另一个.apk文件并覆盖其资产文件?_Android_Apk_Assets_Android Assets - Fatal编程技术网

通过java代码将android.apk复制到另一个.apk文件并覆盖其资产文件?

通过java代码将android.apk复制到另一个.apk文件并覆盖其资产文件?,android,apk,assets,android-assets,Android,Apk,Assets,Android Assets,是否可以通过复制现有的.apk文件并修改其资产文件夹来创建.apk文件?我在资产文件夹中的文件中有一些信息,其中包含服务器ip和用户要连接的端口。用户来自不同的地区,必须通过不同的服务器进行连接。有谁能告诉我如何实现这一点吗?我已经添加了一条评论,其中包含了我对这个问题的建议解决方案。但是,以下是对您问题的回答: 当然,您可以解包APK,交换资产,然后从中创建新的APK。但是,您需要使用正确的密钥再次签署APK 如果您自己构建应用程序,您可以构建多个APK,每个APK包含不同的资产文件。但是,您

是否可以通过复制现有的.apk文件并修改其资产文件夹来创建.apk文件?我在资产文件夹中的文件中有一些信息,其中包含服务器ip和用户要连接的端口。用户来自不同的地区,必须通过不同的服务器进行连接。有谁能告诉我如何实现这一点吗?

我已经添加了一条评论,其中包含了我对这个问题的建议解决方案。但是,以下是对您问题的回答:

当然,您可以解包APK,交换资产,然后从中创建新的APK。但是,您需要使用正确的密钥再次签署APK


如果您自己构建应用程序,您可以构建多个APK,每个APK包含不同的资产文件。但是,您必须手动分发这些APK(即:它们无法上载到Google Play),因为它们都具有相同的软件包名称,并且应用商店中不能有多个应用程序具有相同的软件包名称。

具有多个资产文件,并且根据用户的区域,使用适当的服务器ip和端口。不要继续修改其他区域的apk。或者,你不能将一些具有已知名称的属性文件存储到已知的外部位置并从中读取吗?实际上,它是面向图书馆用户的图书馆应用程序。用户必须连接到特定的库服务器。我如何知道他必须在应用程序级别连接哪个库服务器?也就是说,我如何知道要为服务器ip和端口读取哪个属性文件?这是完整的场景:我有一个带有数据库的公共服务器,其中包含唯一的主键以及可以使用android应用程序的用户信息(usename、密码等)。我只想在用户第一次启动应用程序时获取主键,这样我就可以从数据库中获取用户名、密码和其他信息。应用程序第一次运行时,你应该让应用程序连接到“dispatcher server”并进行身份验证。然后,“dispatcher服务器”可以查看公共数据库,检查身份验证并返回一个URL,该URL指向用户所在区域的正确服务器。应用程序可以将该URL存储在共享首选项中,并始终连接到特定的区域服务器。