小编ale*_*exm的帖子

找不到gradle 2.2.0-rc1

更新到Android Studio 2.2 RC后,它要求我将gradle插件更新为2.2.0-rc1.当我更新时,我收到以下错误:

Error:Could not find com.android.tools.build:gradle:2.2.0-rc1.
Searched in the following locations:
    https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.0-rc1/gradle-2.2.0-rc1.pom
    https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.0-rc1/gradle-2.2.0-rc1.jar
Required by:
    :my_project:unspecified
Run Code Online (Sandbox Code Playgroud)

有关我如何解决它的任何线索?

android android-studio android-gradle-plugin gradle-plugin

5
推荐指数
1
解决办法
1834
查看次数

如何在gradle中的构建类型内为本机代码定义宏?

我已经在Android Studio中使用本地代码构建了一个库。它有一些与时间相关的部分(在C中),这些部分必须处于一定的延迟水平下,我需要对其进行度量。因此,我已经实现了一些测量例程。但是,我不希望测量例程在版本编译中起作用。

因此,我定义了宏,这些宏将允许我根据构建类型进行编译或不进行代码编写:

在我的本机代码中:

#ifdef MEASURE
measureRoutine1();
if (MEASURE == 1) {
    measureRoutine2();
}
#endif
Run Code Online (Sandbox Code Playgroud)

在我的gradle文件中:

buildTypes {
        release {
            signingConfig signingConfigs.storeSignature
            debuggable false
            jniDebuggable false
            versionNameSuffix "2.3"
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            jniDebuggable true
            minifyEnabled false
            versionNameSuffix '2.3.1'
        }
        measure1 {
            initWith debug
            externalNativeBuild {
                cmake {
                    cppFlags += "-DMEASURE=0"
                    cFlags += "-DMEASURE=0"
                }
            }
        }
        measure2 {
            initWith debug
            externalNativeBuild {
                cmake {
                    cppFlags += "-DMEASURE=1"
                    cFlags += "-DMEASURE=1"
                }
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c macros gradle android-ndk android-studio

5
推荐指数
1
解决办法
2545
查看次数

使用 NEON SIMD 的 Short 到 Float 和反之亦然的转换

我正在 Android 中处理音频缓冲区,我的设置如下:

  1. 使用短缓冲区获取系统回调
  2. 将短缓冲区转换为浮点缓冲区
  3. 做一些带有浮动缓冲区的DSP
  4. 将浮点缓冲区转换为短缓冲区
  5. 向系统提供短缓冲

我想减少第 2 步和第 4 步的延迟,即short to float 和float to short 转换。(不考虑 3-DSP 中的延迟,因为我稍后会处理)。

所以,我想使用 NEON SIMD 一次计算多个值。

我目前拥有的 2 和 4 是以下代码:

#define CONV16BIT 32768
#define CONVMYFLT (1./32768.)
static int i;
float * floatBuffer;
short * shortInBuffer;
short * shortOutBuffer;

...(malloc and init buffers method)

...(inside callback) 
//2- short to float
for(i = 0; i < bufferSize; i++) {
    floatBuffer[i] = (float) (shortInBuffer[i] * CONVMYFLT);
}

...(do dsp)

//4- float to short …
Run Code Online (Sandbox Code Playgroud)

android arm simd neon

4
推荐指数
1
解决办法
2389
查看次数

NDK中的arm内联汇编,如何处理指针和指向数据?

我试图用ac指针指向的地址进行汇编操作,现在我遇到的问题是我找不到将指针传递给寄存器然后在数据中执行操作然后存储值的方法到另一个输出指针.

这是我的代码:我错过了什么?

void asmfunc(short *pOut, short *pIn) {
    asm volatile(
            "ldr r0, [in];"
            "ldr r1, [out];"
            "mov r2, r0;"
            "lsr r2, [r2], #1;"
            "str r1, [r2];"
            :[out] "=m" (pOut)
            :[in] "m" (pIn)
    );
}
Run Code Online (Sandbox Code Playgroud)

gcc arm inline-assembly android-ndk

3
推荐指数
1
解决办法
1359
查看次数