DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: swegfrt
今日帖子: 0
在线用户: 5
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 ddrfan (若苗瞬) ▲▲▲▲△ -
注册会员
2021/11/22 17:09:57
标题:
记录一下升级Delphi的同时把APP升级到安卓11 浏览:1969
加入我的收藏
楼主: 浏览论坛看到关于安卓上架的讨论,就试了一下自己以前试着玩的项目。
每次IDE或安卓升级都有好多问题,这次的问题是:

一)安装Delphi11时,安卓SDK未自动安装。
完全同样的安装选项,家里台式机自动安装了,但不知道为什么笔记本这个目录是空的:
“C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.42600.6491”
解决方式是自己去下载一个SDK,谁知谷歌下载只有Android studio了,就搜了一下从第三方网站下载了SDK,解压到了:
“C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK”

二)SDK没有API-30.
打开SDK目录,执行有界面的SDK Manager.exe,发现只到API-29。
根据论坛其它朋友的方法,去tools\bin下执行sdkmanager.bat。具体步骤:
1. sdkmanager.bat --list (查看已安装,可用,可升级的组件,下面版本以后会变哦)
2. sdkmanager.bat "platforms;android-30" (安装)
3. sdkmanager.bat "build-tools;30.0.3" (安装)
4. …… (需要什么装什么)
这个时候,有界面的SDK Manager.exe里面也可以看到这些版本的组件了。
当然RAD里面配置SDK的地方也需要手动改好这些目录。

三)读写权限和获取.
1. PermissionsService.RequestPermissions 函数发生了一些变化编译通不过,这个参考源代码改就可以了。
2. 安卓9还是10开始需要android:requestLegacyExternalStorage="true"才能读外部存储。这个我没继续验证。
3. 因为我用的是Delphi11,所以目标API已经是30了,所以我啥都没改。
4. 旧项目目标平台,Android,下面Libraries,里面全是红叉叉,这个整死人了因为没展开所以完全没注意到,需要右键点Libraries菜单选Revert to default,否者APP运行时才报找不到XX类的错误。

四)只能读写媒体文件了?
以前可以读写txt一类,现在双11出来的APK只有媒体(mp4,mp3,jpg)等可以列表和读取,这个我不太懂也没去研究。毕竟工作和安卓完全无关……不太理解,也是为了安全?如果想打开一个txt,会报权限不足。
----------------------------------------------
Bye bye DDRFAN...
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/22 17:22:22
1楼: 楼主,你昨天贴出来,我就不用忙到半夜了。

另外,不能读 txt ? 这个麻烦了。我是拿 txt 当作配置文件用的。
----------------------------------------------
-
作者:
男 ddrfan (若苗瞬) ▲▲▲▲△ -
注册会员
2021/11/22 17:36:44
2楼: @pcplayer 

哈哈,我不可能比你先搞定,因为我就是看了你的讨论贴啊:
http://bbs.2ccc.com/topic.asp?topicid=621133
刚才试好的。

至于非媒体文件权限,我觉得肯定是安卓有更严格的规定,并不是完全不能。
只是我确实没时间研究,毕竟工作不是这方面。

配置文件我有个程序读写了ini(Windows的方式),是成功的,我没指定ini文件的位置,windows下是程序目录,安卓我猜可能是app数据目录,自己目录的权限应该是够的。
----------------------------------------------
Bye bye DDRFAN...
作者:
男 ddrfan (若苗瞬) ▲▲▲▲△ -
注册会员
2021/11/22 17:44:46
3楼: 和之前那个uniGUI的Web是差不多的东西。
http://bbs.2ccc.com/topic.asp?topicid=620829

用datasnap(忘了是不是这个名字)连接oracle正常。
基本上运行正常,什么分享截图一类不能用了,懒得研究咯。
此帖子包含附件:
JPEG 图像
大小:154.2K
----------------------------------------------
Bye bye DDRFAN...
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/22 17:54:25
4楼: 程序自己的存储空间,在安卓上就是 GetDocumentPath 获得的。

我就是把几个 ini 和 txt 放在程序自己的空间里面。当配置用。能用就好。吓死我了。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/22 18:52:54
5楼: 楼主,我这里还有问题。

我的是 10.4.2 CE 版本。

如果我把 android:targetSdkVersion="29" 改为 android:targetSdkVersion="30",发布到 google play 可以通过。如果是 29, google play 直接提示 API 低了,无法通过。

但是,如果改为 30,在 Delphi 里将 Configuration 从 Application store 改为 Development 模式,直接发布到真机上,在真机上安装会出现错误,安装失败。错误提示:
INSTALL_PARSE_FAILED_NO_CERTIFICATES

看起来似乎是签名问题,反复测试,就是这个 targetSDKVersion 的版本问题。

因此,我担心,我改为 30,可以发布到 google play,但别人从 google play 下载安装,会不会有问题?

楼主,你有做相关测试吗?还是说 Delphi 11 本身已经不存在需要强行改 API level 29 为 30 的问题。
----------------------------------------------
-
作者:
男 ddrfan (若苗瞬) ▲▲▲▲△ -
注册会员
2021/11/22 19:55:34
6楼: @pcplayer
我试的是delphi11,没有手动修改android:targetSdkVersion,它就是30。

为了防止老项目旧配置干扰,我又重新建了一个空工程,啥都不干,直接编译后确认是30:
<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="30" />

但是我的东西都是开发模式,没有选过应用商店,相关方面就完全不懂了。
----------------------------------------------
Bye bye DDRFAN...
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/22 21:02:55
7楼: 多谢 ddrfan。
----------------------------------------------
-
作者:
男 janker (janker) ★☆☆☆☆ -
盒子活跃会员
2021/11/26 23:57:56
8楼: 多谢分享
----------------------------------------------
-
作者:
男 stacker (OOP才是王道) ★☆☆☆☆ -
普通会员
2021/11/28 12:15:44
9楼: 每次Android或IOS改版,IDE就要随着改版,这和魔兽世界改版,插件也一样要改版的意思是一样的。
----------------------------------------------
-
作者:
男 sczhyq (旺财) ★☆☆☆☆ -
注册会员
2021/11/28 14:01:32
10楼: 关于: 第一步. 安装Delphi11时,安卓SDK未自动安装。

没必须按楼主这么烦琐

Manage Platforms...  补装就可以搞定

Manage Platforms  在菜单 Tools 下, 在 Welcome 欢迎页上也有
----------------------------------------------
我84砖家
作者:
男 ddrfan (若苗瞬) ▲▲▲▲△ -
注册会员
2021/11/29 0:07:05
11楼: @sczhyq
不是我忘记装,安装时我选了的,但是目录里没有SDK内容。
再进Manage Platforms里面看到是已经选中的状态。

很奇怪。

不过确实不用自己去下SDK,因为目录虽然没有SDK,但是有commandlinetools。
就是那个sdkmanager.bat,可以管理SDK,NDK。
----------------------------------------------
Bye bye DDRFAN...
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/29 10:21:27
12楼: 哪里去下载完整的 D11 ?
----------------------------------------------
-
作者:
男 stacker (OOP才是王道) ★☆☆☆☆ -
普通会员
2021/11/30 18:06:21
13楼: altd.embarcadero.com?
----------------------------------------------
-
作者:
男 ddrfan (若苗瞬) ▲▲▲▲△ -
注册会员
2021/11/30 22:44:27
14楼:
altd.embarcadero.com


当然官网链接下载啊,这样比较安全。
----------------------------------------------
Bye bye DDRFAN...
作者:
男 sdhjxue (sdhjxue) ★☆☆☆☆ -
盒子活跃会员
2022/1/1 0:06:09
15楼: 好几天了,Delphi11还是没有安装好,安装上新建一个空壳程序,在手机和雷电模拟器中都显示停止运行。手机是安卓11系统。无语啊,有安装好的说一下详细配置过程吗?我的D11没有 带图形的sdkmanager啊
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行38.08594毫秒 RSS