Почему я получаю свой код до изменения, когда я создал новый APK в Android? - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь протестировать свое приложение перед загрузкой в ​​магазин, и когда я создаю apk с помощью

./gradlew assembleRelease

, я вижу в журналах новые зависимости, которые я добавил, но когда я пытаюсь протестировать его:

react-native run-android --variant=release

Я вижу старый код ... при тестировании в режиме отладки проблем нет, и я вижу свой новый код

Что я пробовал до сих пор:

  1. . / Gradlew clean
  2. удалить папку сборки и построить заново + перезагрузить компьютер
  3. удалить папку android и собрать заново + перезагрузить компьютер
  4. изменить код версии и название версии в app / build.gradle + manifest.xml

    Я удалял приложение с телефона после каждой попытки

    Я использую старое хранилище ключей из предыдущей версии

    Я не использую Visual Studio Im с использованием VSC (мой код реагирует нативный)

    это мой файл app / build.gradle:

     apply plugin: "com.android.application"
    
    buildscript {
    repositories {
    maven { url 'https://maven.fabric.io/public' }
       }
     dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
         }
      }
     apply plugin: 'io.fabric'
      repositories {
      maven { url 'https://maven.fabric.io/public' }
       }
      import com.android.build.OutputFile
    
    
       project.ext.react = [
       entryFile: "index.js"
        ]
    
       apply from: "../../node_modules/react-native/react.gradle"
       def enableSeparateBuildPerCPUArchitecture = false
       def enableProguardInReleaseBuilds = false
    
       android {
       compileSdkVersion 28
       buildToolsVersion "28.0.2"
       dexOptions {
         javaMaxHeapSize "4g"
      }
      defaultConfig {
      applicationId "com.vitalacy.dashboard"
      minSdkVersion 16
     targetSdkVersion 20
     versionCode 11
    versionName "2.1.0"
    multiDexEnabled true
    ndk {
        abiFilters "armeabi-v7a", "x86"
       }
    }
    signingConfigs {
       release {
        if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
                }
               }
              }
      splits {
          abi {
         reset()
         enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a", "x86"
         }
        }
     buildTypes {
        release {
          minifyEnabled enableProguardInReleaseBuilds
          proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        signingConfig signingConfigs.release
        }
      }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
     variant.outputs.each { output ->
        // For each separate APK per architecture, set a unique version code as described here:
        // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
        def versionCodes = ["armeabi-v7a":1, "x86":2]
        def abi = output.getFilter(OutputFile.ABI)
        if (abi != null) {  // null for the universal-debug, universal-release variants
            output.versionCodeOverride =
                    versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
         }
       }
      }
     }
    
     dependencies {
      compile project(':react-native-fabric')
      compile project(':react-native-vector-icons')
      compile project(':react-native-spinkit')
       compile project(':react-native-push-notification')
      compile project(':react-native-picker')
      compile project(':react-native-linear-gradient')
      compile project(':react-native-image-crop-picker')
      compile project(':react-native-firebase')
      compile project(':react-native-fcm')
      compile project(':react-native-device-info')
      compile project(':react-native-config')
      implementation project(':react-native-picker')
      implementation project(':react-native-device-info')
      implementation project(':react-native-fcm')
      implementation project(':react-native-firebase')
      implementation project(':react-native-svg')
      implementation project(':react-native-vector-icons')
      implementation project(':react-native-spinkit')
      implementation project(':react-native-push-notification')
      implementation project(':react-native-linear-gradient')
      implementation project(':react-native-image-crop-picker')
      implementation project(':react-native-config')
      implementation fileTree(dir: "libs", include: ["*.jar"])
      implementation "com.google.android.gms:play-services-gcm:15.0.1"
      implementation "com.android.support:appcompat-v7:28.0.0-rc02"
      implementation "com.facebook.react:react-native:+"  // From node_modules
      implementation 'com.google.firebase:firebase-core:16.0.1'
      implementation 'com.google.firebase:firebase-messaging:17.0.0' //17.3.1
      implementation 'com.android.support:multidex:1.0.3'
       compile('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') {
        transitive = true;
          }
    
        }
    
    task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
      }
     apply plugin: 'com.google.gms.google-services'
     com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
    

и это мой android / build.gradle:

      buildscript {
     repositories {
       google()
       jcenter()
     }
   dependencies {
    classpath 'com.android.tools.build:gradle:3.2.0-alpha11'
    classpath 'com.google.gms:google-services:4.1.0'
        }
       }


     allprojects {
      repositories {
            maven { url "https://jitpack.io" }
          mavenLocal()
          google()
          jcenter()

        maven {
        url "$rootDir/../node_modules/react-native/android"
                 }

           }
        }

  ext {
   compileSdkVersion = 28
   targetSdkVersion = 28
   buildToolsVersion = "28.0.2"
   supportLibVersion = "28.0.0-rc02"
   googlePlayServicesVersion = "15.0.1"
   oreoEXPERIMENTAL = "yes"
         }

  subprojects {
    afterEvaluate {project ->
      if (project.hasProperty("android")) {
        android {
            compileSdkVersion 28
            buildToolsVersion '28.0.2'
           }
         }
      }
   }

файл моего манифеста:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vitalacy.dashboard"
android:versionCode="11"
android:versionName="2.1.0">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="22" />

<application
  android:name=".MainApplication"
  android:allowBackup="true"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:theme="@style/AppTheme">

  <service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
  <intent-filter>
  <action android:name="com.google.firebase.MESSAGING_EVENT"/>
  </intent-filter>
  </service>

  <service android:name="com.evollu.react.fcm.InstanceIdService" android:exported="false">
  <intent-filter>
   <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
   </intent-filter>
   </service>
    <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:launchMode="singleTop"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
        <meta-data
      android:name="io.fabric.ApiKey"
      android:value="52e5d0cdae691f2b769e3a84eafeea147d7656b7"
      />
    <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
     <service
    android:name=".FirebaseServices.MyFirebaseMessagingService">
     <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
      </intent-filter>
     </service>
     <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_launcher"/>
      <meta-data android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="my_default_channel"/>
      <service
    android:name=".FirebaseServices.FirebaseInstanceIDService">
      <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
      </intent-filter>
        </service>
        </application>

        </manifest>

1 Ответ

0 голосов
/ 26 сентября 2018

Решение:

Я решил это, удалив папку android (конечно, чтобы сделать резервную копию всей папки и вернуть файлы оценок, хранилище ключей, local.propeties, manifest.xml и т. Д.) после этого я выполнил команду, которую не выполнял до

   "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res"

, и почти все

...