VKu*_*urt 19 android android-identifiers
我在Eclipse中有两个Android项目.我从另一个项目中复制了一个项目,然后更改了应用程序名称(在strings.xml中)和项目名称(在Eclipse中).
但现在有一个问题:当我在模拟器中运行任一应用程序时,另一个应用程序丢失(可能被覆盖?).所以我想我还有另外一个设置,所以Android会识别出两个不同的应用程序?
谢谢!
Jav*_*ock 13
实际上你需要在几个地方更改名称:
首先,如您所说,字符串的名称,即应用程序的可见名称.
其次,转到activity-> src并右键单击包(com.example.whatever)并执行refactor-> rename;
然后转到manifest.xml:并更改以下字段:
<manifest package="com.example.whatever" >
Run Code Online (Sandbox Code Playgroud)
如果你使用本机代码JNI,你还必须更改c ++函数的名称,这是一个痛苦的屁股:
Java_com_example_whatever_activity_function()
Run Code Online (Sandbox Code Playgroud)
kak*_*kyo 10
我的设置
app/java/com.company.app.Refactor > Rename,然后选择Rename Package。Do Refactor。无需手动破解。
对于Android Studio用户,您需要在AndroidManifest.xml以及build.gradle文件 - > defaultConfig - > applicationId中更改您的包名称.
对于那些没有使用Android Studio并且想要手动执行的人(例如,如果你使用的是React Native),我最近只是通过了这个并且必须在以下文件中进行更改:
index.android.js
android/settings.gradle
android/app/build.gradle
android/app/src/main/AndroidManifest.xml
android/app/src/main/java/com/<app id>/MainActivity.java
android/app/src/main/java/com/<app id>/MainApplication.java
Run Code Online (Sandbox Code Playgroud)
我发现完成此任务的最简单方法是在.gradle中使用Product Flavor
productFlavors {
MainApp {
applicationId = "com.company.app"
}
NewAppFlavor {
applicationId = "com.company.newapp"
}
}
buildTypes {
debug {
buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + getDateAsMillis() + "L)"
applicationIdSuffix ".debug"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您在AndroidManifest.xml中将包名称指定为
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company"
android:versionCode="1"
android:versionName="0.1.1" >
Run Code Online (Sandbox Code Playgroud)
在发布配置中,Android Studio(在撰写本文时为1.5.1)将询问要构建哪种样式。
调试配置不太直观,您必须将光标悬停在屏幕的左下角,选择“ Build Variants”,然后选择当您按下播放按钮时您的调试配置将部署的样式。
| 归档时间: |
|
| 查看次数: |
47983 次 |
| 最近记录: |