我可以使用安卓工作室给出的默认软件包名称启动安卓应用程序吗?



我开始在Android Studio上做一个项目,最初我不知道我是否会去启动应用程序,所以我让软件包名称与Android Studio默认给出的相同(它是com.example.abhishek.tv)。 现在我已经完成了该应用程序并想启动它,但在这里我卡住了,因为我的域名是abhishekint.16m.com但我不知道更改 android studio 给出的默认包名称。

我这里有三个问题

  1. 我不知道如何有效且安全地更改包名称。在阅读一些堆栈溢出链接后,我不情愿更改包名称,因为我不清楚答案,包名称似乎非常明智,因为如果做得不好,它可能会破坏整个项目。
  2. 我的原域名有数字,在网上搜索后发现数字域名有异常。
  3. 还有一件事,因为我有这个应用程序,其中包含一些来自youtube的视频,所以如果我选择更改项目的包名称,那么我将不得不更改我在获取youtube API时进行指纹识别后获得的API_KEY的包名称。

应用级build.gradle文件中的更改

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.abc.xyz" // change here 
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

这将覆盖AndroidManifest.xml中存在的包名称

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.abc.xyz">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application

编辑

来自有关在 Java 中命名包的文档:

在某些情况下,互联网域名可能不是有效的软件包 名字。如果域名包含连字符或其他 特殊字符,如果包名称以数字或其他开头 用作 Java 名称开头的非法字符

这意味着您不能使用数字作为包(或类、接口或变量名称)的第一个字符。

abhishekint.16m.com不允许的,但您可以使用abhishekint.sixteenm.com

最新更新