Weex Android 发布签名版本遇到的坑

现象描述:debug下一切正常。执行生成签名apk时出现错误,但只有一个信息,意思是在messages view查看详细信息,但messages view没有任何错误信息出现。
解决过程:

  • 升级 gradle
    • 升级后,需要将/app/build.gradle 文件中 dependencies 下的compile 替换成 implementation
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.taobao.android:weex_sdk:0.16.0'
    ......
}
  • 每次进行签名找问题太麻烦,编译release版本是一样的问题
    在/app/build.gradle中release的配置
   buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
        release {
            zipAlignEnabled true
            signingConfig signingConfigs.release
            // 移除无用的resource文件
            shrinkResources true
            // 允许混淆
            minifyEnabled true
            // 引用混淆文件
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
  • 编译release版本,报无法加载com.taobao.android:weexplugin-processor:1.3jar,解决办法,在dependencies中添加annotationProcessor 'com.taobao.android:weexplugin-processor:1.3'
dependencies {
  annotationProcessor 'com.taobao.android:weexplugin-processor:1.3'
}
  • 编译release版本,报无法找到fastjson-1.1.27-android.jar文件,根据提示下载这个文件,将这个文件放到提示下的目录。
  • 编译成功了!进行加固,安装到真机看效果。
  • 😆有些图片怎么不显示呀,找来找去原来是我在/app/build/gradle的release配置中加了 shrinkResources true,移除掉,重新来,OK了。
  • shrinkResources true
    因为weex中引用本地文件是通过图片名字直接访问的,不是在xml中写的,所以编译时会把无用的资源删除掉。