我用Ionic框架(Angular(开发了一些应用程序。当我构建一个.apk文件并将其安装到Android设备上时,新的应用程序会替换(删除旧的(之前安装的旧应用程序。当我在安卓工作室开发本机应用程序时,我没有这样的问题。
我搜索了Ionic文档,但没有找到这个问题。我只有一些建议,这个问题将在使用一些标志构建(例如发布(或签署应用程序的apk文件后解决。
问题是";android";文件夹已存在。所以我在答案中描述了解决方案。只有在第一次添加android/ios之前应用程序ID没有更改的情况下,才会出现此问题。
搜索";com整个项目
12 results - 6 files
android/build.gradle:
9 dependencies {
10: classpath 'com.android.tools.build:gradle:7.0.4'
11: classpath 'com.google.gms:google-services:4.3.5'
12
android/app/build.gradle:
1: apply plugin: 'com.android.application'
2
46 if (servicesJSON.text) {
47: apply plugin: 'com.google.gms.google-services'
48 }
android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java:
1: package com.getcapacitor.myapp;
2
23
24: assertEquals("com.getcapacitor.app", appContext.getPackageName());
25 }
android/app/src/main/assets/capacitor.plugins.json:
3 "pkg": "@capacitor/app",
4: "classpath": "com.capacitorjs.plugins.app.AppPlugin"
5 },
7 "pkg": "@capacitor/haptics",
8: "classpath": "com.capacitorjs.plugins.haptics.HapticsPlugin"
9 },
11 "pkg": "@capacitor/keyboard",
12: "classpath": "com.capacitorjs.plugins.keyboard.KeyboardPlugin"
13 },
15 "pkg": "@capacitor/status-bar",
16: "classpath": "com.capacitorjs.plugins.statusbar.StatusBarPlugin"
17 }
android/app/src/main/java/io/ionic/starter/MainActivity.java:
2
3: import com.getcapacitor.BridgeActivity;
4
android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java:
1: package com.getcapacitor.myapp;
2
您必须更改config.xml中的包名称。因为新的包名称与其他应用程序的包名称相同。
您的应用程序可能在config.xml中有一个名为"com.example.app"的包,因此您必须更改为类似于"com.dziamid.thatawesomeapp"的内容,然后您的下一个应用程序将有一个包"com.djiamid.evenmoreawsomeapp"等。如果您使用的是capacitor,请同时检查capacitor.config.json中的appId和appName。
已解决!
- 删除"android文件夹
- 将capacityor.config.ts中的appId更改为:"io.ionic.yourApp">
- cmd
ionic cap add android
(在此之前我也重建了"www"文件夹(仅此而已