吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1734|回复: 18
收起左侧

[Android 分享] 编写so文件以及android studio国内镜像配置

[复制链接]
namename123 发表于 2025-3-31 17:08
网上好多资料和教程都太老了,自己报错了好久。分享一下希望大家少走弯路

像这样去新建一个C++项目
最开始构建可以会很慢(除非科学上网)
我们可以自定义国内的镜像,以及本地gradle包

首先选择我们本地gradle包
distributionurl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.7-bin.zip
可以在这里去自己下载好一个包,记录一下
然后找到我们的环境变量
在系统变量下面新建两个,如图

第一个地址是我们自己去下载的gradle的包解压后
然后在path里面

%GRADLE_HOME%\bin
加上这个路径
这样我们后续清理缓存什么的比较方便
第二个文件默认是在 c盘 user 你的用户名 .gradle里面
可以改可以不改
我们配置全局环境
就在你自己的.gradle目录里面
新建一个(如果有就自己修改)
init.gradle
文件
文件内容为
[Asm] 纯文本查看 复制代码
// 修复版 init.gradle(兼容 Gradle 7.0+)

// 配置优先级:settings > init.gradle > build.gradle
beforeSettings { settings ->
    // 全局仓库配置(通过 dependencyResolutionManagement)
    settings.dependencyResolutionManagement {
        repositoriesMode = RepositoriesMode.PREFER_SETTINGS // 强制使用 settings 仓库
        repositories {
            clear()
            // 主仓库镜像
            maven { url 'https://maven.aliyun.com/repository/public' }
            maven { url 'https://repo.huaweicloud.com/repository/maven' }
            maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public' }
            // Google 仓库镜像
            maven { url 'https://maven.aliyun.com/repository/google' }
            // 中央仓库备份
            mavenCentral()
        }
    }

    // 插件仓库配置
    settings.pluginManagement {
        repositories {
            clear()
            maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
            maven { url 'https://repo.huaweicloud.com/repository/maven' }
            maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public' }
            mavenCentral()
        }
    }
}

allprojects {
    buildscript {
        repositories {
            clear()
            maven { url 'https://maven.aliyun.com/repository/public' }
            maven { url 'https://repo.huaweicloud.com/repository/maven' }
            maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public' }
            maven { url 'https://maven.aliyun.com/repository/google' }
            mavenCentral()
        }
    }
}


这样放着就好
现在你在去AS里面构建应该就快得多了
(如果报错URL什么的,记得去设置里面把gradle改为本地,我每次打开都要重新设置)

现在开始写so

可以看见下面是我们java的声明
这里我的例子就是一个string 方法,传入什么输出什么


在这cpp里面我们具体写实现
[C] 纯文本查看 复制代码
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_so_1moudule_MainActivity_helloworld(
        JNIEnv* env,
        jobject /* this */, jstring str) {
    // 1. 获取 Java 字符串的 C 风格字符指针
    const char* nativeStr = env->GetStringUTFChars(str, nullptr);
    if (nativeStr == nullptr) {
        // 处理空指针(例如,输入字符串为 null)
        return env->NewStringUTF("输入字符串为 null");
    }

    // 2. 将 C 风格字符串转换为 std::string
    std::string input_str(nativeStr);

    // 3. 释放资源(必须!避免内存泄漏)
    env->ReleaseStringUTFChars(str, nativeStr);

    // 4. 将 std::string 转换为 jstring 返回
    return env->NewStringUTF(input_str.c_str());
}


保存好就ok ,如图

现在运行整个apk文件在你的手机里面

完成
image.png
我们再去看看so文件,在build里面可以构建apk文件
\so_moudule\app\build\outputs\apk\debug
目录大约是这样
image.png
完成!

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xuanle + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| namename123 发表于 2025-3-31 17:18
图没了
环境变量里面
GRADLE_HOME   E:\Android\code\gradle\gradle-8.13
GRADLE_USER_HOME   E:\Android\code\.gradle
根据自己地址修改
然后gralde 本地设置里面 点bulid 下面就有gradle设置

xuanle 发表于 2025-3-31 21:15
android studio实在麻烦,特别是gradle,很多版本,如果从网上下载的源码,都是要重新下载对应版本的gradle。
无颜君〃 发表于 2025-3-31 20:46
namename123 发表于 2025-3-31 17:18
图没了
环境变量里面
GRADLE_HOME   E:\Android\code\gradle\gradle-8.13

楼主 android studio 这玩意到底有汉化没。
508916 发表于 2025-3-31 21:06
感谢分享,我最近也在用Android Studio,
zxcv4323 发表于 2025-3-31 21:08
谢谢楼主分享,感谢感谢
Tomlls 发表于 2025-3-31 21:58
感谢分享 昨天下载gradle下了整整一个小时,早点看到这个帖子就好了
 楼主| namename123 发表于 2025-3-31 22:43
无颜君〃 发表于 2025-3-31 20:46
楼主 android studio 这玩意到底有汉化没。

新版本好像没,以前老版本可以
duokebei 发表于 2025-4-1 09:57
感谢楼主
chathack 发表于 2025-4-1 11:12
so 文件相当于  windows中的dll 吧?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-30 14:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表