gpt4 book ai didi

android-ndk - Android Assets 和 NDK

转载 作者:行者123 更新时间:2023-12-04 03:23:43 27 4
gpt4 key购买 nike

我正在尝试从我的 native 代码中读取一个简单的文本文件。

  • 我把file.txt放在assets文件夹下
  • 在我的事件中,我正在创建 Assets 管理器:assetManager = getAssets();然后我将 assetManager 传递给我的 native 方法和(如 native 音频示例中):
    AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
    AAsset* asset = AAssetManager_open(mgr, "file.txt", AASSET_MODE_UNKNOWN);
    AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);

    off_t start, length;

    int fd = AAsset_openFileDescriptor(asset, &start, &length);

  • 问题是 fd小于0!!!

    任何人都可以帮忙吗?

    最佳答案

    AAsset_openFileDescriptor仅适用于未压缩的文件(如 mp3、jpg、png 等)。它写在文档中(asset_manager.h 头文件):

    /**
    * Open a new file descriptor that can be used to read the asset data.
    *
    * Returns < 0 if direct fd access is not possible (for example, if the asset is
    * compressed).
    */
    int AAsset_openFileDescriptor(AAsset* asset, off_t* outStart, off_t* outLength);

    使用 AAsset_readAAsset_getBuffer .

    关于android-ndk - Android Assets 和 NDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9516305/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com