0

我无法构建我的 android 应用程序的测试版 APK。我试过下面的代码

buildTypes {
beta {
    applicationIdSuffix ".beta"
    versionNameSuffix "-beta"
    resValue "string", "appname", "Beta App"
}
release {
    minifyEnabled true
    shrinkResources true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
 flavorDimensions "default"
 productFlavors {
      free{
          applicationId "com.packagename.free"
        }
      paid{
         applicationId "com.packagename.paid"
       }
}

当我尝试从 Genrate Signed APK 按钮生成 APK 时,它显示错误 -

com.packagename.free 未找到

在我的应用程序中,我使用的是 payu SDK。请帮忙。提前致谢

4

1 回答 1

1

您必须按照以下内容构建不同的 APK 变体。

  1. 改变你的应用程序 build.gradle 喜欢

     buildTypes {
    
     release {
     minifyEnabled true
     shrinkResources true
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
     resValue "string", "content_provider", "com.packagename.fileProvider"
    } 
     staging {
     signingConfig signingConfigs.release
     applicationIdSuffix = ".debugStaging"
    }
    dexOptions {
      matchingFallbacks = ['release', 'staging']
     }
    }
    
  2. 现在打开你 payu build.gradle 并在侧 buildType 添加这一行

    buildTypes {
      release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
     staging {
         }
       }
    
  3. 现在您必须在主文件夹下创建与您在 buildType "staging" 中指定的名称相同的文件夹

  4. 现在在 -main->staging->java 中创建一个新目录,然后在 java 中添加您的包 - com.packagename.debugStaging debugStaging 与在 staging applicationIdSuffix 中添加的相同。

  5. 现在对主目录下与“staging”同名的pay SDK文件夹重复步骤3和4,并在此添加java文件夹和payu包名称

  6. 最后一步 - 将带有包名的 beta/staging 应用程序添加到 firebase 并下载 google-services.json 文件。

希望这会帮助你。

于 2020-06-23T12:22:35.563 回答