diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index e19047d2f..82b226908 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -25,8 +25,11 @@ jobs: java-version: 1.8 - name: Run Gradle Build run: | + export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}" + sudo bash < presentFragment(new VmessSettingsActivity())); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (Build.VERSION.SDK_INT > 23) { addItem.addSubItem(menu_add_input_ss, LocaleController.getString("AddProxySS", R.string.AddProxySS)).setOnClickListener((v) -> presentFragment(new ShadowsocksSettingsActivity())); + } + if (Build.VERSION.SDK_INT >= 21) { addItem.addSubItem(menu_add_input_ssr, LocaleController.getString("AddProxySSR", R.string.AddProxySSR)).setOnClickListener((v) -> presentFragment(new ShadowsocksRSettingsActivity())); } // addItem.addSubItem(menu_add_input_rb, LocaleController.getString("AddProxyRB", R.string.AddProxyRB)).setOnClickListener((v) -> presentFragment(new RelayBatonSettingsActivity())); diff --git a/TMessagesProj/src/main/libs/README.md b/TMessagesProj/src/main/libs/README.md index 053b7f54d..b639d5aae 100644 --- a/TMessagesProj/src/main/libs/README.md +++ b/TMessagesProj/src/main/libs/README.md @@ -1,3 +1,3 @@ # Pre-compiled binary libraries. -About compilation, please refer to [here](https://github.com/NekoX-Dev/NekoX/blob/master/update_jni.sh) \ No newline at end of file +About compilation, please refer to [scripts](https://github.com/NekoX-Dev/NekoX/blob/master/bin). \ No newline at end of file diff --git a/TMessagesProj/src/main/res/values/strings_nekox.xml b/TMessagesProj/src/main/res/values/strings_nekox.xml index 6018df94a..c356985f9 100644 --- a/TMessagesProj/src/main/res/values/strings_nekox.xml +++ b/TMessagesProj/src/main/res/values/strings_nekox.xml @@ -201,6 +201,8 @@ Are you sure you want to **delete unavailable servers**? Sorry, you need at least Android 5 (API21). + Sorry, you need at least Android 6 (API23). + Sorry, mini version not support this type of proxy, please switch version in settings. Import From Clipboard diff --git a/bin/binary_libs.sh b/bin/binary_libs.sh index a378624cf..4410fe193 100755 --- a/bin/binary_libs.sh +++ b/bin/binary_libs.sh @@ -1,48 +1,83 @@ #!/bin/bash -rm -f TMessagesProj/libs/*.aar +if [ ! -x "$(command -v go)" ]; then -./gradlew ss-rust:assembleRelease +# if [ ! -x "$(command -v gvm)" ]; then +# +# apt install -y bison +# +# bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) +# +# source "$HOME/.bashrc" +# +# fi +# +# gvm install go1.14 -B +# gvm use go1.14 --default -cp ss-rust/build/outputs/aar/* TMessagesProj/libs + echo "install golang please!" -./gradlew ssr-libev:assembleRelease + exit 1 -cp ssr-libev/build/outputs/aar/* TMessagesProj/libs +fi -cd TMessagesProj/libs +if [ ! -x "$(command -v rustc)" ]; then -go get -v golang.org/x/mobile/cmd/... +# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -v2rayCore="$(go env GOPATH)/src/v2ray.com/core" -rm -rf "$v2rayCore" -mkdir -p "$v2rayCore" -git clone https://github.com/v2fly/v2ray-core.git "$v2rayCore" -go get -d github.com/2dust/AndroidLibV2rayLite +# rustup target install armv7-linux-androideabi aarch64-linux-android i686-linux-android x86_64-linux-android -gomobile init -gomobile bind -v -ldflags='-s -w' github.com/2dust/AndroidLibV2rayLite -rm *-sources.jar + echo "install rust please!" -cd ../.. + exit 1 -./gradlew TMessagesProj:externalNativeBuildFullFoss +fi -OUT=TMessagesProj/build/intermediates/ndkBuild/fullFoss/obj/local -DIR=TMessagesProj/src/main/libs +if [ ! -f "$ANDROID_HOME/ndk-bundle/source.properties" ]; then -rm -rf $DIR/armeabi-v7a -mkdir -p $DIR/armeabi-v7a -cp $OUT/armeabi-v7a/*.so $DIR/armeabi-v7a + export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.3.6528147 -rm -rf $DIR/arm64-v8a -mkdir -p $DIR/arm64-v8a -cp $OUT/arm64-v8a/*.so $DIR/arm64-v8a +fi -rm -rf $DIR/x86 -mkdir -p $DIR/x86 -cp $OUT/x86/*.so $DIR/x86 -rm -rf $DIR/x86_64 -mkdir -p $DIR/x86_64 -cp $OUT/x86_64/*.so $DIR/x86_64 \ No newline at end of file +rm -rf TMessagesProj/libs/*.aar +./gradlew ss-rust:assembleRelease --stacktrace && +cp ss-rust/build/outputs/aar/* TMessagesProj/libs && +./gradlew ssr-libev:assembleRelease && +cp ssr-libev/build/outputs/aar/* TMessagesProj/libs && +cd TMessagesProj/libs && + +go get -v golang.org/x/mobile/cmd/... && + +v2rayCore="$(go env GOPATH)/src/v2ray.com/core" && +rm -rf "$v2rayCore" && +mkdir -p "$v2rayCore" && +git clone https://github.com/v2fly/v2ray-core.git "$v2rayCore" && +go get -d github.com/2dust/AndroidLibV2rayLite && + +gomobile init && +gomobile bind -v -ldflags='-s -w' github.com/2dust/AndroidLibV2rayLite && +rm *-sources.jar && + +cd ../.. && + +./gradlew TMessagesProj:externalNativeBuildFullFoss && + +OUT=TMessagesProj/build/intermediates/ndkBuild/fullFoss/obj/local && +DIR=TMessagesProj/src/main/libs && + +rm -rf $DIR/armeabi-v7a && +mkdir -p $DIR/armeabi-v7a && +cp $OUT/armeabi-v7a/*.so $DIR/armeabi-v7a && + +rm -rf $DIR/arm64-v8a && +mkdir -p $DIR/arm64-v8a && +cp $OUT/arm64-v8a/*.so $DIR/arm64-v8a && + +rm -rf $DIR/x86 && +mkdir -p $DIR/x86 && +cp $OUT/x86/*.so $DIR/x86 && + +rm -rf $DIR/x86_64 && +mkdir -p $DIR/x86_64 && +cp $OUT/x86_64/*.so $DIR/x86_64 diff --git a/bin/native_libs.sh b/bin/native_libs.sh index 12c27253d..65b25747a 100755 --- a/bin/native_libs.sh +++ b/bin/native_libs.sh @@ -21,6 +21,7 @@ if [ ! -x "$(command -v go)" ]; then fi + if [ ! -x "$(command -v ninja)" ]; then # apt install -y ninja-build @@ -31,11 +32,11 @@ if [ ! -x "$(command -v ninja)" ]; then fi -if [ ! -x "$(command -v clang)" ]; then +if [ ! -x "$(command -v cmake)" ]; then -# apt install -y clang +# apt install -y cmake - echo "install clang please!" + echo "install cmake please!" exit 1 @@ -59,12 +60,18 @@ cd TMessagesProj/jni || exit 1 git submodule update --init --recursive -[ -d "ffmpeg/build" ] || ./build_ffmpeg_clang.sh - -rm -rf ffmpeg/toolchain-android +cd ffmpeg +git reset --hard +git clean -fdx +cd .. +./build_ffmpeg_clang.sh ./patch_ffmpeg.sh -./patch_boringssl.sh +cd boringssl +git reset --hard +git clean -fdx +cd .. -[ -d "boringssl/build" ] || ./build_boringssl.sh \ No newline at end of file +./patch_boringssl.sh +./build_boringssl.sh \ No newline at end of file diff --git a/bin/publish_play.sh b/bin/publish_play.sh index db7df7f8d..34e61abfb 100755 --- a/bin/publish_play.sh +++ b/bin/publish_play.sh @@ -1,3 +1,3 @@ #!/bin/bash -./gradlew TMessagesProj:publishFullBlobEmojiRelease \ No newline at end of file +./gradlew TMessagesProj:publishFullRelease \ No newline at end of file diff --git a/openpgp-api/build.gradle b/openpgp-api/build.gradle index 33506f265..76f1997bf 100644 --- a/openpgp-api/build.gradle +++ b/openpgp-api/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 28 + compileSdkVersion 30 defaultConfig { versionCode 9 @@ -13,4 +13,5 @@ android { lintOptions { abortOnError false } + buildToolsVersion '30.0.1' } \ No newline at end of file diff --git a/ss-rust/build.gradle.kts b/ss-rust/build.gradle.kts index dd6670534..825b56486 100644 --- a/ss-rust/build.gradle.kts +++ b/ss-rust/build.gradle.kts @@ -9,11 +9,12 @@ android { ndkVersion = rootProject.extra.get("ndkVersion").toString() - compileSdkVersion(29) + compileSdkVersion(30) defaultConfig { - minSdkVersion(21) - targetSdkVersion(28) + minSdkVersion(23) + targetSdkVersion(30) } + buildToolsVersion = "30.0.1" } diff --git a/ssr-libev/build.gradle b/ssr-libev/build.gradle index 0e7bc9961..c8ead7008 100644 --- a/ssr-libev/build.gradle +++ b/ssr-libev/build.gradle @@ -3,8 +3,8 @@ plugins { } android { - compileSdkVersion 29 - buildToolsVersion "29.0.3" + compileSdkVersion 30 + buildToolsVersion '30.0.1' ndkVersion rootProject.ext.ndkVersion defaultConfig {