Menu Home

android构建工具

Android Gradle: SDK License Agreements

* What went wrong: A problem occurred configuring project ‘:mi’. > Failed to notify project evaluation listener. > You have not accepted the license agreements of the following SDK components: [Android SDK Build-Tools 25]. Before building your project, you need to accept the license agreements and complete the installation of […]

Android:Build x264 for arm64

export NDK=$ANDROID_NDK export PREBUILT_ARM64=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64 export X264_ANDROID_PREFIX_ARM64=$X264_BUILD_ROOT/output/arm64 function build_arm64 { ./configure \ –prefix=$X264_ANDROID_PREFIX_ARM64 \ –enable-static \ –enable-pic \ –host=aarch64-linux \ –cross-prefix=$PREBUILT_ARM64/bin/aarch64-linux-android- \ –sysroot=$PLATFORM_ARM64 make clean make make install echo “Build libx264 arm64 Finished !!!” } If you compile ffmpeg with libx264.a , you MUST use same NDK toolchains. Otherwise cannot link […]

Build WebRTC

First of All, You have evaded the “WALL”. God bless you. Host OS: Ubuntu 16.04 LTE Build Tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git Then add depot_tools to your PATH Checkout Source Set the target OS Here, I will build webrtc for Andorid platform. export GYP_DEFINES=”OS=android” Sync Source mkdir webrtc_android cd webrtc_android fetch […]

Android:Get Certificate SHA1 with JNI

#include <assert.h> #include <string.h> #include <stdio.h> #include <android/log.h> const char HexCode[]={‘0′,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’A’,’B’,’C’,’D’,’E’,’F’}; static void byte_array_to_hex_string(JNIEnv *env, const jbyteArray array, const jsize array_size, char *hex_string) { jbyte *sha1 = (*env)->GetByteArrayElements(env, array, NULL); for (int i = 0; i < array_size; i++) { hex_string[i * 2] = HexCode[((unsigned char)sha1[i]) / 16]; hex_string[i * […]

Android Studio: Change AAR Build Name

android.libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith(‘.aar’)) { def fileName = “Your aar package name” output.outputFile = new File(outputFile.parent, fileName) } } } Rebuild your project, you will find the aar package file at build/outputs/aar