吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1636|回复: 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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// 修复版 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] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
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文件在你的手机里面

完成

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

完成!

免费评分

参与人数 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。
3#
无颜君〃 发表于 2025-3-31 20:46
namename123 发表于 2025-3-31 17:18
图没了
环境变量里面
GRADLE_HOME   E:\Android\code\gradle\gradle-8.13

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

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

本版积分规则

返回列表

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

GMT+8, 2025-4-21 23:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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