go 编译apk

news2024/12/26 0:19:49

首先进行安装go

安装

wget https://studygolang.com/dl/golang/go1.21.5.linux-amd64.tar.gz
tar zxvf go1.21.5.linux-amd64.tar.gz
mv go /usr/local/
vim /etc/profile # 进行配置环境变量:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# 保存退出
source /etc/profile # 进行加载

配置基本的国内代理

go env -w GO111MODULE=on
go env -w GOPROXY="https://goproxy.cn,direct"
go env -w GOPATH=/usr/local/go

进行安装jdk # 这个是安卓的sdk 内部调用java出现的

wget https://xxxxx/jdk-8u181-linux-x64.tar.gz 这个地址自行百度
tar -zxvf jdk-8u181-linux-x64.tar.gz
mv jdk1.8.0_181 /usr/local/java
vim /etc/profile
export JAVA=/usr/local/java/bin
export PATH=$PATH:$GOROOT/bin:$JAVA
source /etc/profile # 进行加载

进行安装安卓的sdk

安装sdk

wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz?utm_source=androiddevtools&utm_medium=website  # 这个我这边是用迅雷下载的问过要用linux 请自己修改名字
tar zxvf android-sdk_r24.4.1-linux.tgz
mv android-sdk /usr/local/android
vim /etc/profile # 配置环境变量
export ANDROID_HOME=/usr/local/android
export PATH=$ANDROID_HOME/tools:$PATH

# 开始进行下ndk
wget https://googledownloads.cn/android/repository/android-ndk-r26b-linux.zip
unzip android-ndk-r26b-linux.zip
cp -r android-ndk-r26b/android-ndk-r26b /usr/local/android/ndk-bundle

进行配置sdk的版本

android update sdk -u --all --filter 26,27,28,29,30 # 可以使用android list sdk --all 进行查看

开始进行安装gomobile

go install golang.org/x/mobile/cmd/gomobile@latest

开始编写一个go的程序

package ceshi
import "fmt"

func main(){
	fmt.Println("Hello World1")
}

开始进行打包:

gomobile build -target=android -androidapi 23 ceshi # 如下图所示:
# 然后上传到手机即可 有一个问题就是把这个apk删除后在进行打包就无法打包了,也不知道啥原因,我这边还在看

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1303132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法Day28 二进制差异序列(格雷码)

二进制差异序列(格雷码) Description n 位二进制差异序列是一个由2^n个整数组成的序列,其中: 每个整数都在范围[0, 2^n - 1]内(含0和2^n - 1) 第一个整数是0 一个整数在序列中出现不超过一次 每对相邻整数…

LeetCode-1008. 前序遍历构造二叉搜索树【栈 树 二叉搜索树 数组 二叉树 单调栈】

LeetCode-1008. 前序遍历构造二叉搜索树【栈 树 二叉搜索树 数组 二叉树 单调栈】 题目描述:解题思路一:题目大致意思就是给定一个二叉树的前序遍历,求对应的二叉搜索树。一种比较特殊的点是「二叉搜索树」的中序遍历的结果是【有序序列】&am…

参数占位符#{}和${}

#是预处理而$是直接替换 Mybatis在处理#{}时,会将SQL中的#{}替换成占位符?,再使用preparedStatement的set方法来赋值。而Mybatis在处理 时,是将 {}时,是将 时,是将{}直接替换成变量的值 我们分别使用#{}和…

热电厂发电机组常见故障及预测性维护方法

热电厂的发电机组是关键的能源生产设备,在电力供应中扮演着关键角色。但经过长期运行和高负荷工作,一旦发生故障,可能导致停机、设备损坏甚至引发严重事故。因此,实施有效的预测性维护方法对于确保发电机组的稳定运行至关重要。本…

vue3封装接口

在src下面创建一个文件夹任意名称 我拿这个名字举例子了apiService 相当于创建一个新的文件 // 封装接口 // apiService.js import axios from axios;// 接口前缀 const API_BASE_URL 前缀;接口后缀export const registerUser async (fileData) > {try {const response …

Node CLI 之 Yargs (2)

什么是 yargs? yargs 是一个用于处理命令行参数的 Node.js 库 安装 yargs npm install yargs简单例子 不定义任何选项,直接便可以使用 定义命令 const yargs require(yargs)yargs.command(hello, Prints hello world, (yargs) > {}, (argv) >…

栈(深入理解栈是什么)

这里写目录标题 栈概念栈的初始化栈的溢出函数的栈帧函数的返回 栈 概念 英文:stack,也叫做堆栈。 特点:先进后出。 栈的两个基本操作,也就是入栈和出栈。都是通过SP指针来维护。C语言中的函数的局部变量,传递的实参…

datav-实现轮播表,使用updateRows方法-无缝衔接加载数据

前言 最近在做大屏需求的时候,遇到一个轮播数据的需求,查看datav文档发现确实有这个组件 但这个组件只提供了一次加载轮播的例子,虽然提供了轮播加载数据updateRows方法 但是文档并没有触发事件,比如轮播完数据触发事件&#xf…

RocketMQ-RocketMQ高性能核心原理节点(流程图)

NamesrvServer启动流程图: namesrvServer启动简图: Broker服务启动过程流程图 Broker服务启动过程流程简图 整体RPC框架流程如下图 client: DefaultMQProducer

CTF刷题记录

刷题 我的md5脏了KFC疯狂星期四坤坤的csgo邀请simplePHPcurl 我的md5脏了 g0at无意间发现了被打乱的flag:I{i?8Sms??Cd_1?T51??F_1?} 但是好像缺了不少东西,flag的md5值已经通过py交易得到了:88875458bdd87af5dd2e3c750e534741 flag…

2024美赛备战1--数据处理(数据预处理,异常值处理,预测模型,插值拟合 *****必看****)

1.数据预处理 所谓数据预处理,就是指在正式做题之前对数据进行的一些处理。在有些情 况下,出题方提供的数据或者网上查找的数据并不能直接使用,比如缺少数据甚 至是异常数据,如果直接忽略缺失值,或者没发现异常数据&am…

idea java 创建 hellword 项目

1.概要 建立一个最简单的工程,开始编码。 2.试验过程 2.1 创建的过程很简单,除了第一个窗口选择“java 模块”,其他的都是下一步。 2.2 还有就是刚创建的工程什么都没有需要,自己创建一个启动的类和启动函数。 2.3 运行和运行…

随机生成验证码的jar包

这是已经开发好的验证码,咱们直接调用接口,拿过来直接用就可以了 链接:https://pan.baidu.com/s/1QMPhW5UzxmhIa7THFab5hw 提取码:6666 下面演示一下: 首先创建一个Code来先生成随机验证码,然后传…

一个音乐能够做成二维码吗?音乐的活码制作技巧

一个音乐能够做成二维码后展示吗?现在以二维码为载体来储存内容的方式越来越常见,比如图片、文件、视频、音频都可以做成二维码展示,人们也更习惯去扫码获取内容。音频作为日常工作生活中常用的一种内容,可以用音频二维码生成器来…

如何在Word中简洁地插入代码

如何在Word中简洁地插入代码 背景: ​ 最近在一写一些论文或者报告的时候,需要将源代码放在论文的最后,有一个很头疼的问题,如果直接把代码从编辑器复制到word中,就变成了下面这个样子: 这有点丑陋啊&…

2023-12学习笔记

1.NonNull要手动写无参构造器 这是一个我今天研究了很久的问题,开始不知道原因是在这里,还在那想是不是Data覆盖了无参构造,结果当然不是。先说下解决历程 1.问题起因 通过RequestBody接收前端报文的时候报错,大致是说我构造方…

【算法提升—力扣每日一刷】五日总结【12/06--12/10】

2023/12/06 力扣每日一刷:206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2…

马云说的AI电商真的要来了?AR技术虚拟试穿公司ZERO10引入AI人工智能模型,未来试衣间就应这样!

ZERO10 是一家提供虚拟试穿体验的公司,他们基于自家的 AR 技术,提供高度逼真且顶尖的虚拟试穿体验。与现有的技术不同,他们的生成式人工智能试穿技术只需要 1-5 张用户照片,就可以实现虚拟试穿。这种方法为规模化应用提供了巨大机…

jquery手写广告轮播图,无限循环功能

说明 在很多情况下,我们都需要开发广告轮播图,当我们进行页面的功能开发时,采用轮播图来实现也行,但是很多情况下,我们只需要简单的控制轮播循环轮播展示即可,所以用jq开开发广告轮播波,自定义…

NR重写console.log 增加时间信息

如题,默认console.log输出的日志是13位的时间戳,然后不方便查看与对比代码运行点的耗时,我们可以简单地重写 console.log方法,增加自定义时间戳格式,如下是增加时间(时,分,秒&#x…