[Android]修改应用包名、名称、版本号、Icon、启动页以及环境判断和打包

[复制链接]
发表于 2026-2-26 23:04:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1.修改包名

在Android Studio中更改项目的包名涉及几个步调:
打开项目结构:


  • 在Android Studio中,确保您处于Android视图模式(在左侧面板顶部有一个下拉菜单可以选择)。
重定名包名:


  • 在项目视图中,找到您的包名(比方com.gamin.learndemo),右键点击它。
  • 选择Refactor > Rename。
  • 在弹出的对话框中,点击Rename Package而不是Rename Directory。
  • 输入新的包名(比方com.gamin.new),然后点击Refactor。
  • Android Studio会体现一个预览窗口,展示全部更改,确认无误后点击Do Refactor。
更新build.gradle文件:


  • 找到app模块下的build.gradle文件。
  • 修改applicationId为新的包名(com.gamin.new)。
  • 点击Sync Now提示来同步您的项目。
更新清单文件:


  • 打开AndroidManifest.xml文件。
  • 如果有,确保package属性反映了新的包名。
查抄代码中的任何硬编码引用:


  • 利用全局搜刮(Ctrl + Shift + F)来查找项目中任何硬编码的旧包名引用,并将其更新为新的包名。
整理和重修项目:


  • 在Build菜单中选择Clean Project。
  • 然后选择Rebuild Project。
请留意,如果您的应用步调已经发布到了Google Play,更改包名将意味着您将无法上传更新到现有的应用列表,由于包名是应用在Google Play上的唯一标识符。如果这是您的环境,您须要以新包名发布一个新的应用,并大概须要关照您的用户举行迁移。


2.修改应用名称

在 Android Studio 中,你可以通过修改 `AndroidManifest.xml` 文件或 `res/values/strings.xml` 文件来更改 Android 项目的应用步调名称(APP名称)。
通过修改 `AndroidManifest.xml`

在 `AndroidManifest.xml` 文件中,你可以找到 `<application>` 元素的 `android:label` 属性,该属性界说了应用步调的体现名称。
  1. <application
  2.     android:icon="@mipmap/ic_launcher"
  3.     android:label="@string/app_name"
  4.     android:theme="@style/AppTheme">
  5.     <!-- ... -->
  6. </application>
复制代码
在上面的例子中,`@string/app_name` 引用了 `res/values/strings.xml` 文件中的字符串资源。你可以直接修改 `android:label` 的值为你想要的应用步调名称。
通过修改 `res/values/strings.xml`

在 `res/values/strings.xml` 文件中,你可以找到应用步调名称的字符串资源.
  1. <resources>
  2.     <!-- 应用程序名称 -->
  3.     <string name="app_name">MyApp</string>
  4.     <!-- ... 其他字符串资源 ... -->
  5. </resources>
复制代码
直接修改 `<string name="app_name">MyApp</string>` 中的文本为你想要的应用步调名称即可。
在修改完之后,记得同步项目(点击工具栏上的 "Sync Now" 按钮)以确保修改见效。如许你的 Android 应用步调的名称就会改变了。

3.修改应用版本号

版本号的规则

`versionCode` 是一个整数,用于在 Android 装备上标识应用步调的版本。
`versionName` 是一个字符串,用于体现给用户。
通常,`versionCode` 应该是递增的,而 `versionName` 可以包罗更具形貌性的信息。
修改 `versionCode` 和 `versionName`

1). 打开你的项目,在 Android Studio 中找到 `app` 模块下的 `build.gradle` 文件。
2). 在 `defaultConfig` 部门,你可以找到 `versionCode` 和 `versionName` 这两个属性。修改这两个属性的值即可更改版本号。
  1.    android {
  2.        // 其他配置...
  3.        defaultConfig {
  4.            applicationId "com.example.myapp"
  5.            minSdkVersion 16
  6.            targetSdkVersion 30
  7.            versionCode 2  // 修改为你想要的版本号
  8.            versionName "1.1"  // 修改为你想要的版本名
  9.        }
  10.        // 其他配置...
  11.    }
复制代码
3). 修改完之后,同步项目(点击工具栏上的 "Sync Now" 按钮)以确保修改见效。

4.修改Icon

起首,你须要为应用准备一组图标资源。应用图标通常须要多个尺寸以顺应差别的装备和屏幕密度。以下是常见的尺寸规格(以像素为单元):


  • mdpi: 48x48
  • hdpi: 72x72
  • xhdpi: 96x96
  • xxhdpi: 144x144
  • xxxhdpi: 192x192
打开应用步调的清单文件AndroidManifest.xml,找到 <application>元素,更新android:icon和android:roundIcon属性,将其指定为新的图标资源。

 
 5.设置启动页

(1).资源管理

起首,你须要为应用准备一组启动图标资源。启动图标通常须要多个尺寸以顺应差别的装备和屏幕密度。
创建差别屏幕密度的资源目次

在 Android 项目中,你应该在 res(资源)目次下创建这些专门用于差别屏幕密度的资源目次。这些目次包罗:


  • drawable-ldpi: 低密度, 约 0.75x 基线
  • drawable-mdpi: 中密度, 基线 1.0x
  • drawable-hdpi: 高密度, 约 1.5x 基线
  • drawable-xhdpi: 超高密度, 约 2.0x 基线
  • drawable-xxhdpi: 超超高密度, 约 3.0x 基线
  • drawable-xxxhdpi: 超超超高密度, 约 4.0x 基线
每个目次名后缀代表了目的屏幕密度,如许 Android 体系就可以根据装备的屏幕密度主动选择利用相应目次中的资源。这种方式可以确保图像在差别装备上体现的尺寸精确,且视觉效果最佳。
通用 drawable 目次

你完全可以选择不创建特定于密度的 drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi 等目次,而是直接将图像资源放入通用的 drawable 目次中。这种做法在技能上是可行的,但是有一些埋伏的题目和衡量,须要你思量:
优点:


  • 简化资源管理:不须要管理多个密度版本的图像,镌汰资源文件的数量。
  • 开发服从:镌汰为差别密度准备和测试图像的工作量。
缺点:


  • 性能题目:Android 体系将在运行时对放在 drawable 目次中的图像举行缩放,以顺应差别密度的屏幕。这个缩放过程大概会斲丧额外的处置惩罚时间,特别是在低性能装备上。
  • 图像质量:主动缩放大概会导致图像在某些装备上体现暗昧或失真。
  • 应用巨细和内存利用:利用较大的图像文件大概会使应用的团体巨细增长,而且在运行时占用更多的内存,这在资源受限的装备上大概导致性能降落。
替换方案



  • 利用矢量图形(Vector Drawable):对于可以用矢量图体现的图形,利用矢量图形是一个很好的选择。矢量图形可以在任何屏幕密度上无损缩放,而且文件巨细通常比位图小很多。
  • 限定位图的利用场景:如果你确实须要利用位图,思量仅对于那些不常变革或对质量要求不高的图像利用通用 drawable 目次,同时为关键的用户界面元素提供适配多种密度的图像。

(2).设置启动页

在 Android 应用开发中,启动图片通常指的是启动画面(Splash Screen),它是应用启动时展示的第一个屏幕。自 Android 12(API 级别 31)起,Android 保举利用新的启动画面 API 来创建启动画面,以提供更同等和可定制的用户体验。以下是怎样在利用 Kotlin 开发的 Android 应用中设置启动画面的步调:
固然 SplashScreen API 是 Android 12(API 31)引入的,你可以利用兼容库来在低版本上实现类似效果。
添加依靠

在 build.gradle (Module: app)文件中添加 SplashScreen 兼容库的依靠:
  1. dependencies {
  2.     implementation 'androidx.core:core-splashscreen:1.0.0'
  3.     // 确保添加其他必要的依赖
  4. }
复制代码
更新主题

起首,你须要在你的应用的主题中设置启动画面样式。在 res/values/styles.xml 文件中,你可以添加一个新的主题样式用于启动画面:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <style name="Theme.MyApp.Splash" parent="Theme.SplashScreen">
  4.         <item name="windowSplashScreenBackground">@color/white</item>
  5.         <item name="windowSplashScreenAnimatedIcon">@drawable/splash_icon</item>
  6.         <item name="windowSplashScreenAnimationDuration">500</item>
  7.         <item name="postSplashScreenTheme">@style/Theme.MyApp</item>
  8.     </style>
  9. </resources>
复制代码
在这个样式中:


  • windowSplashScreenBackground 设置启动画面的配景颜色。
  • windowSplashScreenAnimatedIcon 设置启动画面中的图标。
  • windowSplashScreenAnimationDuration 设置动画一连的时间(毫秒)。
  • postSplashScreenTheme 指定启动画面之后应用的主题。
更新 AndroidManifest.xml

接着,须要在 AndroidManifest.xml 中的 <activity> 标签内指定这个主题。通常这是你的启动(主)运动:
  1. <activity
  2.     android:name=".MainActivity"
  3.     android:exported="true"
  4.     android:theme="@style/Theme.MyApp.Splash"
  5.     <intent-filter>
  6.         <action android:name="android.intent.action.MAIN" />
  7.         <category android:name="android.intent.category.LAUNCHER" />
  8.     </intent-filter>
  9. </activity>
复制代码
设置启动运动

在你的主运动(如 MainActivity)中,利用新的 API 来设置启动画面。在 Kotlin 中,你可以这么做:
  1. import android.os.Bundle
  2. import androidx.appcompat.app.AppCompatActivity
  3. import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
  4. class MainActivity : AppCompatActivity() {
  5.     override fun onCreate(savedInstanceState: Bundle?) {
  6.         // 在 super.onCreate(savedInstanceState) 之前安装启动画面
  7.         installSplashScreen()
  8.         super.onCreate(savedInstanceState)
  9.         setContentView(R.layout.activity_main)
  10.     }
  11. }
复制代码
这里 installSplashScreen() 方法会主动处置惩罚启动画面的逻辑。
添加资源

确保你已经在 res/drawable 目次下放置了启动图标 splash_icon.png,而且在 res/values/colors.xml 中设置了相应的颜色。
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <color name="white">#FFFFFF</color>
  4. </resources>
复制代码

6.判断是Debug照旧Release环境?

类中声明白一个伴生对象 companion object,将checkDebuggable方法声明为静态方法。
  1. package com.example.testdemo
  2. import android.content.Context
  3. import android.content.pm.ApplicationInfo
  4. class CheckTools() {
  5.     companion object {
  6.         fun checkDebuggable(context: Context): Boolean {
  7.           return 0 != (context.applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE)
  8.         }
  9.     }
  10. }
复制代码
如果你在Kotlin类大概函数中遇到Unresolved reference: applicationContext这个错误,那大概是由于你正在实行在一个非Android组件(如Activity、Service、BroadcastReceiver等)中直接访问applicationContext。在非Android组件中,是不能直接访问applicationContext的。


7.打包apk

进入目次Build->Generate Signed Bundle / APK
官方文档:https://developer.android.com/studio/publish/app-signing

选择APK

新建密钥


填写信息完成密钥创建

选择密钥,进入下一步。

选择构建release环境的包

等候打包完成,去项目的release目次拿到apk文件,发给其他用户安装。

我们自己安装APK到真机,直接用Android Studio就行了。
先将apk拖入目次/storage/sdcard0/Download/upgrade/app-release.apk

然后得手机的“文件管理”中搜刮apk的名称,选择安装。

安装乐成后,打开APP我可以看到此时为release环境。



回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表