+-
android – Gradle使用不同的abiFilters进行调试和发布
这是我的build.gradle文件的一部分:

android {
    //...

    defaultConfig {
        //...

        externalNativeBuild {

                ndkBuild {
                    targets "MyGame"
                    arguments "NDK_MODULE_PATH=$cocospath:$cocospath/cocos:$cocospath/external:$cocospath/cocos/prebuilt-mk:$cocospath/extensions"
                    arguments "-j" + Runtime.runtime.availableProcessors()

                    buildTypes {
                        debug {
                            abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
                        }

                        release {
                            abiFilters "armeabi"
                        }
                    }

                }
        }
    }
    //.........

我正在尝试使用三个abi过滤器(armeabi,armeabi-v7a和arm64-v8a),同时在调试模式下构建应用程序,并在构建版本apk时仅使用一个(armeabi).但它不起作用.调试版和发行版都使用了所有三个abiFilter.

我的gradle文件出了什么问题?

编辑:

事实证明,当我拥有所有三个abi过滤器并成功构建应用程序时,我想留下armeabi并且……仍然添加了所有三个.我不得不手动删除app / build目录的内容.

最佳答案
你把你的aabiFIlters放错了.这是它的工作方式:

android {
  //...

  defaultConfig {
    //...

    externalNativeBuild {
      ndkBuild {
         targets "MyGame"
         arguments …
      }
    }
  }

  buildTypes {
    release {
       ndk {
            abiFilters "armeabi-v7a"
        }

        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        ndk {
            abiFilters "x86", "armeabi-v7a"
        }
    }
  }
}
点击查看更多相关文章

转载注明原文:android – Gradle使用不同的abiFilters进行调试和发布 - 乐贴网