代码之家  ›  专栏  ›  技术社区  ›  Saeed Heidarizarei

TMes公司sagesProj:externalNativeBuildAfatDebug

  •  0
  • Saeed Heidarizarei  · 技术社区  · 6 年前

    telegram apk和为什么我会犯这个错误:
    Build APK(s): Errors while building APK. You can find the errors in the 'Messages' view.

    :TMessagesProj:externalNativeBuildAfatDebug | 1m 6s 712ms
    Execute build | 1m 6s 683ms
    

    我的外部构建:

      externalNativeBuild {
            ndkBuild {
                path "jni/Android.mk"
            }
        }
    

    org.gradle.internal.UncheckedException: Build command failed.
    Error while executing process D:\Software\2-Programming\Android-Programming\android-ndk-r17b\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=D:\TG\Telegram\TMessagesProj\jni\Android.mk NDK_APPLICATION_MK=D:\TG\Telegram\TMessagesProj\jni\Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-16 NDK_OUT=D:/TG/Telegram/TMessagesProj/build/intermediates/ndkBuild/afat/debug/obj NDK_LIBS_OUT=D:\TG\Telegram\TMessagesProj\build\intermediates\ndkBuild\afat\debug\lib NDK_APPLICATION_MK:=jni/Application.mk APP_PLATFORM:=android-16 -j8 D:/TG/Telegram/TMessagesProj/build/intermediates/ndkBuild/afat/debug/obj/local/armeabi-v7a/libtmessages.29.so}
    Android NDK: WARNING: APP_STL gnustl_static is deprecated and will be removed in the next release. Please switch to either c++_static or c++_shared. See https://developer.android.com/ndk/guides/cpp-support.html for more information.    
    Android NDK: WARNING: Deprecated NDK_TOOLCHAIN_VERSION value: 4.9. GCC is no longer supported and will be removed in the next release. See https://android.googlesource.com/platform/ndk/+/master/docs/ClangMigration.md.    
    Android NDK: WARNING:D:\TG\Telegram\TMessagesProj\jni\Android.mk:flac: LOCAL_LDLIBS is always ignored for static libraries    
    Android NDK: WARNING: Unsupported source file extensions in D:\TG\Telegram\TMessagesProj\jni\Android.mk for module flac    
    Android NDK:   ./exoplayer/libFLAC/windows_unicode_filenames   
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Saeed Heidarizarei    6 年前

    @车凡说: Link

    在我的windows机器上看到了你的意思。它无法接受版本字符串转义。我刚刚做了:

    -DVERSION=1.3.1
    

    您可以在

    %porject_dir%\TMessageProj\.externalNativeBuild\ndkBuild\arm64Debug\arm64-v8a\android_gradle_build.json
    

    接下来是posix_memalign()函数。NDK平台16没有导出这个功能,所以运气不好就建了。看起来有17个已经导出,所以如果你换成android-17

    "APP_PLATFORM:=android-17"
    

    (我也不知道为什么前几天linux构建还可以:这件事不可能依赖于操作系统)。

    我想你可以用

    ndk-bundle>toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\aarch64-linux-android\bin\nm.exe   platforms\android-17\arch-arm\usr\lib\libc.so
    

    android-16libc没有导出它。

    当为64位cpu架构(arm64,x86_64)构建时,这是可以的,因为64位是在很久以后添加的(我认为是android-21),ndk构建会自动切换到android-21,即使您指定使用android-16

    您也可以检查此链接: Link