Compare commits
10 Commits
jc
...
f5e2961445
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5e2961445 | ||
|
|
e4e9c31f02 | ||
|
|
a02a7efe43 | ||
|
|
2220efd009 | ||
|
|
0bc0fdf8c2 | ||
|
|
6b7b07a6fd | ||
|
|
8f3417818d | ||
|
|
ca280c7334 | ||
|
|
8172cf7b6f | ||
|
|
8014f4149c |
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,6 +1,3 @@
|
||||
[submodule "libjc/jcc/libs"]
|
||||
path = libjc/jcc/libs
|
||||
url = https://gitea.winboll.cc/Studio/APP_libjc_jcc_libs.git
|
||||
[submodule "keystore"]
|
||||
path = keystore
|
||||
url = https://gitea.winboll.cc/Studio/keystore.git
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
//
|
||||
|
||||
android {
|
||||
def winbollProps = new Properties()
|
||||
def winbollPropsFile = rootProject.file("${winbollFilePath}")
|
||||
assert(winbollPropsFile.exists())
|
||||
winbollProps.load(new FileInputStream(winbollPropsFile))
|
||||
|
||||
// 读取秘钥配置文件
|
||||
//
|
||||
def keyProps = new Properties()
|
||||
@@ -122,6 +127,7 @@ android {
|
||||
FileOutputStream fos = new FileOutputStream(winbollBuildPropsFile)
|
||||
winbollBuildProps.store(fos, "${winbollBuildPropsDesc}");
|
||||
fos.close();
|
||||
println "\n\n>>> Project build.properties saved.\n\n";
|
||||
|
||||
if(winbollBuildProps['libraryProject'] != "") {
|
||||
// 如果应用 build.properties 文件设置了类库模块项目文件名
|
||||
@@ -133,6 +139,8 @@ android {
|
||||
java.nio.file.Path targetFilePath = libraryProjectBuildPropsFile.toPath();
|
||||
// 使用copyTo()方法复制文件,如果目标文件存在会被覆盖,可选参数可以选择不覆盖
|
||||
java.nio.file.Files.copy(sourceFilePath, targetFilePath, java.nio.file.StandardCopyOption.REPLACE_EXISTING);
|
||||
|
||||
println "\n\n>>> Library Project build.properties saved.\n\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -229,20 +237,23 @@ android {
|
||||
}
|
||||
} // if(variant.buildType.name == "release"){
|
||||
|
||||
// 如果公共目录存在就拷贝到公共目录并重命名为app.apk
|
||||
// 如果配置了APK额外输出路径,就复制一份拷贝到额外路径。
|
||||
//
|
||||
File outCommonDir = new File("/sdcard/AppProjects")
|
||||
String commandAPKName = "app.apk"
|
||||
if(outCommonDir.exists()) {
|
||||
copy{
|
||||
from file.outputFile
|
||||
into outCommonDir
|
||||
rename {
|
||||
String fileName -> "${commandAPKName}"
|
||||
if(winbollProps['ExtraAPKOutputPath'] != null ) {
|
||||
File apkFile = new File(winbollProps['ExtraAPKOutputPath'])
|
||||
File outCommonDir = apkFile.getParentFile();
|
||||
String commandAPKName = apkFile.getName();
|
||||
if(outCommonDir.exists()) {
|
||||
copy{
|
||||
from file.outputFile
|
||||
into outCommonDir
|
||||
rename {
|
||||
String fileName -> "${commandAPKName}"
|
||||
}
|
||||
println "Output APK (Common): " + outCommonDir.getAbsolutePath() + "/${commandAPKName}"
|
||||
}
|
||||
println "Output APK (Common): " + outCommonDir.getAbsolutePath() + "/${commandAPKName}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
14
README.md
14
README.md
@@ -119,7 +119,7 @@
|
||||
## ★. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。
|
||||
## ★. 应用签名密钥 keystore 设置问题。一般调试编译只需用【Termux】cd 进 GenKeyStore 目录执行 $ bash gen_debug_keystore.sh 命令即可完成设置。
|
||||
## ☆. 应用 WiBoLL 签名密钥配置问题<非必须考虑>。设置时需要 clone 【keystore】模块源码并拷贝模块目录的 appkey.jks 与 appkey.keystore 到项目根目录即可。
|
||||
## ☆. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoLL Maven 库登录用户信息。
|
||||
## ☆. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoLL Maven 库登录用户信息, 和 APK 文件额外输出路径。
|
||||
|
||||
|
||||
# ☆类库型项目编译方法
|
||||
@@ -128,7 +128,8 @@
|
||||
设置属性 libraryProject=<类库项目模块文件夹名称>
|
||||
### 再编译测试项目
|
||||
$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称>
|
||||
#### 测试项目编译后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。
|
||||
#### 测试项目编译后,编译器会复制一份 APK 到 路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。
|
||||
#### 若是 winboll.properties 文件的 [ExtraAPKOutputPath] 属性设置了路径。编译器也会复制一份 APK 到这个路径。
|
||||
### 最后编译类库项目
|
||||
$ bash .winboll/bashPublishLIBAddTag.sh <类库项目模块文件夹名称>
|
||||
#### 类库模块编译命令执行后,编译器会发布到 WinBoLL Nexus Maven 库:Maven 库地址可以参阅根项目目录配置 build.gradle 文件。
|
||||
@@ -136,4 +137,11 @@ $ bash .winboll/bashPublishLIBAddTag.sh <类库项目模块文件夹名称>
|
||||
# ☆应用型项目编译方法
|
||||
## 直接调用以下命令编译应用型项目
|
||||
$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称>
|
||||
#### 应用模块编译命令执行后,编译器会复制一份 APK 到以下路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。
|
||||
#### 应用模块编译命令执行后,编译器会复制一份 APK 到
|
||||
#### 测试项目编译后,编译器会复制一份 APK 到 路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。
|
||||
#### 若是 winboll.properties 文件的 [ExtraAPKOutputPath] 属性设置了路径。编译器也会复制一份 APK 到这个路径。
|
||||
|
||||
# ☆应用调试编译方法
|
||||
使用以下命令编译调试:
|
||||
$ bash gradlew assembleBetaDebug
|
||||
#### 若是 winboll.properties 文件的 [ExtraAPKOutputPath] 属性设置了路径。编译器也会复制一份 APK 到这个路径。
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sun Aug 31 23:37:38 HKT 2025
|
||||
#Mon Sep 15 18:05:08 HKT 2025
|
||||
stageCount=6
|
||||
libraryProject=libappbase
|
||||
baseVersion=15.9
|
||||
publishVersion=15.9.5
|
||||
buildCount=0
|
||||
buildCount=46
|
||||
baseBetaVersion=15.9.6
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package cc.winboll.studio.appbase.activities;
|
||||
|
||||
/**
|
||||
* @Author ZhanGSKen<zhangsken@qq.com>
|
||||
* @Author ZhanGSKen&豆包大模型<zhangsken@qq.com>
|
||||
* @Date 2025/03/25 05:04:22
|
||||
* @Describe
|
||||
*/
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
|
||||
@@ -32,17 +32,11 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="安卓R对应的是Android 11,其API级别是30。以下是Android 11中一些重要的API相关特性:
|
||||
|
||||
\n- 隐私保护方面:引入单次授权,让用户可以选择授予应用对位置信息、麦克风和摄像头的临时访问权限。还增加了数据访问审核功能,能让开发者深入了解应用在何处访问私密数据。
|
||||
|
||||
\n- 系统功能方面:提供了ControlsProviderService API,用于向连接的外部设备提供控件,这些控件显示于Android电源菜单中的设备控件下。媒体控件也得到更新,显示于快捷设置旁,来自多个应用的会话排列在一个可滑动的轮播界面中。
|
||||
|
||||
\n- 硬件支持方面:提供了一些API以支持瀑布屏,通过将窗口布局属性 layoutInDisplayCutoutMode 设为 LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS ,可允许窗口延伸到屏幕各个边缘上的刘海和瀑布区域。对于合页式屏幕配置的设备,提供了具有 TYPE_HINGE_ANGLE 的新传感器以及新的 SensorEvent ,用于监控合页角度。
|
||||
|
||||
\n- 安全方面:对生物识别身份验证机制进行了更新,引入了 BiometricManager.Authenticators 接口,定义了 BIOMETRIC_STRONG 、 BIOMETRIC_WEAK 、 DEVICE_CREDENTIAL 等身份验证类型。还在 BiometricPrompt 类中提供了对“每次使用时进行身份验证”密钥的更多支持。
|
||||
|
||||
\n- 性能和质量方面:支持无线调试,通过Android调试桥(adb)从工作站以无线方式部署和调试应用,避免了常见的USB连接问题。"/>
|
||||
android:text="Android 11(内部代号 Red Velvet Cake)是谷歌于2020年9月8日正式发布的移动端操作系统,核心升级聚焦隐私安全强化、通话与通知体验优化、5G与折叠屏适配三大方向,为用户和开发者提供更安全、灵活的使用与开发环境。\n\n一、核心升级:隐私安全(最关键变化)\n\nAndroid 11进一步收紧应用权限管控,从“被动授权”转向“主动保护用户数据”,核心变化包括:\n\n- 一次性权限:首次申请定位、麦克风、相机等敏感权限时,新增“仅本次允许”选项,应用退出后权限自动失效,避免长期授权泄露数据。\n- 后台位置权限限制:应用需先获得“前台定位权限”,才能申请“后台定位”,且用户可单独关闭后台定位(此前需完全关闭定位权限),减少后台偷跑定位的情况。\n- 存储权限细分:将原“存储”权限拆分为“媒体文件”和“所有文件”,普通应用仅能访问媒体文件,需访问其他文件(如文档)时需单独申请“所有文件访问权限”,降低存储数据泄露风险。\n\n二、体验优化:通知与通话\n\n- 通知分类管理:通知栏新增“对话”“提醒”“无声”三大分类,微信、短信等实时对话会单独归为“对话”分类,支持置顶、标记未读,重要信息更易查找。\n- 通话与通知优先级优化:来电、闹钟等重要提醒会以“浮动窗口”形式显示(非全屏遮挡),不打断当前操作(如看视频、玩游戏),用户可快速选择接听/挂断。\n- 通知历史记录:新增“通知历史”功能,可查看过去24小时内被清除的通知,避免误删重要信息。\n\n三、开发者与硬件适配\n\n- 5G网络优化:新增5G网络状态API,支持应用识别“5G高速”“5G低延迟”等场景,例如视频App可自动切换高清画质,游戏App可优化网络传输策略。\n- 折叠屏适配:提供“折叠状态监听”“多窗口模式增强”等API,帮助开发者适配折叠屏设备,避免屏幕折叠/展开时界面错乱。\n- Scoped Storage(分区存储)强制启用:要求应用适配“分区存储”机制(Android 10为可选),应用默认只能访问自身专属目录和公共媒体目录,无法随意读写手机存储,提升系统安全性。\n\n四、其他实用功能\n\n- 电源菜单集成控制:长按电源键时,可直接显示智能家居控制(如灯光、空调),无需单独打开智能家居App。\n- 无线调试:支持通过Wi-Fi连接电脑进行ADB调试,无需USB线,方便开发者测试设备。\n- 屏幕录制升级:系统自带屏幕录制功能支持录制声音(包括麦克风声音),并可选择是否显示触控操作。\n\n综上,Android 11的核心定位是“安全与体验的精细化升级”,通过隐私权限的层层收紧保护用户数据,同时针对5G、折叠屏等新硬件做了前瞻性适配,是Android系统向“更安全、更智能”迭代的重要版本。"/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Edit TimeStamp: 20250915_180359_071"/>
|
||||
|
||||
|
||||
<HorizontalScrollView
|
||||
|
||||
1
keystore
1
keystore
Submodule keystore deleted from e7f70226c1
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Mon Aug 18 03:56:26 HKT 2025
|
||||
#Mon Sep 15 18:05:08 HKT 2025
|
||||
stageCount=6
|
||||
libraryProject=libappbase
|
||||
baseVersion=15.9
|
||||
publishVersion=15.9.5
|
||||
buildCount=0
|
||||
buildCount=46
|
||||
baseBetaVersion=15.9.6
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
## library project to WinBoLL Nexus Maven Repository.
|
||||
##
|
||||
|
||||
## WinBoLL Extra APK file Output Path
|
||||
#ExtraAPKOutputPath=/sdcard/AppProjects/app.apk
|
||||
|
||||
## WinBoLL Nexus UserName
|
||||
#Nexus.name=nexustestuser1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user