为什么使用Ionic Framework构建的应用程序在安卓设备上安装时会取代另一个Ionic应用程序



我用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。

已解决!

  1. 删除"android文件夹
  2. 将capacityor.config.ts中的appId更改为:"io.ionic.yourApp">
  3. cmd ionic cap add android(在此之前我也重建了"www"文件夹(仅此而已

相关内容

最新更新