美文网首页
环境搭建之windows Android studio ndk环

环境搭建之windows Android studio ndk环

作者: _jetson_ | 来源:发表于2021-03-28 14:19 被阅读0次

    ndk使用流程

    设置支持jni

    1. 打开gradle.properties,添加:

    android.useDeprecatedNdk=true
    

    2. 打开local.properties,添加:

    ndk.dir=C\:\\Users\\jetson\\AppData\\Local\\Android\\Sdk\\ndk\\22.0.7026061
    

    3. 在app内的build.gradle,在android/defaultConfig下面添加ndk配置

            ndk {
                moduleName "songstudio"
            }
            
    注意:moduleName 表示编译出的so文件的名字
    注意这句话是写在defaultConfig里面,不然就会报错了:
    could not find method ndk() for arguments
    

    4. 生成头文件

    javac -encoding utf8 -h . Mp3EncoderTest.java
    

    参考教程:https://www.jianshu.com/p/28d541d658db

    Android studio使用git教程

    步骤

    1. VCS -> import into -> Create git
    2. 文件夹右键 -> git -> add
    3. VSC -> import into -> shared github
    

    问题

    登录不料

    使用token登录方式:https://github.com/settings/tokens
    

    参考教程:https://blog.csdn.net/qunqunstyle99/article/details/86665013

    问题

    1. ndk-build命令找不到

    将C:\Users\jetson\AppData\Local\Android\Sdk\ndk\22.0.7026061\build(ndk-build命令所在目录)添加到环境变量中
    

    2. 生成的app中找不到库

    创建jniLibs文件夹,然后将ndk-build生成的libs目录的东西,拷贝到jniLibs中,即可
    

    3. 使用javac生成头文件

    javac -encoding utf8 -h . Mp3EncoderTest.java
    

    4. 找不到undefined symbol: bcopy

    在Application.mk文件中添加:
    APP_CFLAGS += -DSTDC_HEADERS
    

    5. 打印log

    #include <android/log.h>
    #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, "xx", __VA_ARGS__)
    LOGI("pcmFilePath = %s", pcmFilePath);
    

    6. jni fopen文件permission deny

    1. 如果只是读文件的话:
    (1)在应用的清单文件中将 requestLegacyExternalStorage 设置为 true。
    (2)请求 READ_EXTERNAL_STORAGE 权限。
    2. 如果是写文件的话:
    请将与文件相关联的文件描述符从基于 Java 或基于 Koltin 的代码传入原生代码。
    

    7. 只编译x86的库

    Application.mk文件添加:
    APP_ABI := x86
    

    8. Androidstudio中添加c++补全

    右键文件夹,然后选link c++ project with gradle
    

    9. error: undefined symbol: log2f

    在Application.mk中添加:
    APP_PLATFORM := android-28
    

    10. avformat_open_input:Invalid data found when processing input

    没有将需要的格式编译进来,进行完整编译之后,就可以了
    

    11. 设置typora的代码宽度

    (1)选择主题-> github的主题
    (2)打开C:\Program Files\Typora\resources\app\style\themes\github.css文件
    (3)修改max-width的大小
    #write {
        max-width: 1400px; // 这里修改1400px就会变大了
        margin: 0 auto;
        padding: 30px;
        padding-bottom: 100px;
    }
    

    12. Android studio中不小心删错了文件

    andorid studio,在相同的目录,新建一个相同名字的文件,然后打开,然后右键
    选择local history -> show history 就可以显示之前版本了
    

    13. 包含头文件

    在mk文件中添加:
    LOCAL_C_INCLUDES := \
        $(LOCAL_PATH)/libcommon \
    就可以直接用:
    #include "xxx.h"了,不用根据文件夹了
    

    14. No implementation found for

    没有在java文件中添加:
    static {
            System.loadLibrary("songstudio");
        }
    

    15. av_packet_unref(&mpacket);和av_free的使用

    av_packet_unref(&mpacket);可以多次使用
    av_free函数只能使用一次,多次使用的话,会出现段错误
    

    16. debug apk无法安装

    adb install -t app-debug.apk
    

    17. SL_RESULT_BUFFER_INSUFFICIENT

    SLDataLocator_AndroidSimpleBufferQueue配置和 (*mAudioPlayerBufferQueue)->Enqueue的数目对不上
    

    18. opensl的play函数出现段错误

    play函数不应该退出,不然就会出现段错误。在最后面加个while循环。
    

    19. typora使用公式

    在偏好设置 -> Markdown -> 打开内联公式 -> 重启typora -> 输入$\subset$就会显示公式了
    

    20. Ubuntu安装ssh

    sudo apt-get install ssh
    sudo systemctl start ssh
    

    21. vscode配置ssh

    只要安装ssh插件,然后按F1,搜索ssh,新添加ssh host,然后连接ssh,之后它就会自动在Ubuntu服务器上安装.vscode-server文件了
    免密码登录:window上ssh-keygen.exe,拷贝C盘用户目录下的.ssh目录下的idrsa.pub中的内容,到Ubuntu主机的home/.ssh目录下的文件authorized_keys
    

    相关文章

      网友评论

          本文标题:环境搭建之windows Android studio ndk环

          本文链接:https://www.haomeiwen.com/subject/yfpphltx.html