|
|
导航: |
论坛 -> 移动应用开发
斑竹:flyers,iamdream |
|
作者: |
|
2021/11/22 17:09:57 |
标题: |
记录一下升级Delphi的同时把APP升级到安卓11 |
浏览:3366 |
|
加入我的收藏 |
楼主: |
浏览论坛看到关于安卓上架的讨论,就试了一下自己以前试着玩的项目。 每次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... |
作者: |
|
2021/11/22 17:22:22 |
1楼: |
楼主,你昨天贴出来,我就不用忙到半夜了。
另外,不能读 txt ? 这个麻烦了。我是拿 txt 当作配置文件用的。
----------------------------------------------
-
|
作者: |
|
2021/11/22 17:36:44 |
2楼: |
@pcplayer
哈哈,我不可能比你先搞定,因为我就是看了你的讨论贴啊: http://bbs.2ccc.com/topic.asp?topicid=621133 刚才试好的。
至于非媒体文件权限,我觉得肯定是安卓有更严格的规定,并不是完全不能。 只是我确实没时间研究,毕竟工作不是这方面。
配置文件我有个程序读写了ini(Windows的方式),是成功的,我没指定ini文件的位置,windows下是程序目录,安卓我猜可能是app数据目录,自己目录的权限应该是够的。
----------------------------------------------
Bye bye DDRFAN...
|
作者: |
|
2021/11/22 17:44:46 |
3楼: |
和之前那个uniGUI的Web是差不多的东西。 http://bbs.2ccc.com/topic.asp?topicid=620829
用datasnap(忘了是不是这个名字)连接oracle正常。 基本上运行正常,什么分享截图一类不能用了,懒得研究咯。
此帖子包含附件:
大小:154.2K |
----------------------------------------------
Bye bye DDRFAN...
|
作者: |
|
2021/11/22 17:54:25 |
4楼: |
程序自己的存储空间,在安卓上就是 GetDocumentPath 获得的。
我就是把几个 ini 和 txt 放在程序自己的空间里面。当配置用。能用就好。吓死我了。
----------------------------------------------
-
|
作者: |
|
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 的问题。
----------------------------------------------
-
|
作者: |
|
2021/11/22 19:55:34 |
6楼: |
@pcplayer 我试的是delphi11,没有手动修改android:targetSdkVersion,它就是30。
为了防止老项目旧配置干扰,我又重新建了一个空工程,啥都不干,直接编译后确认是30: <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="30" />
但是我的东西都是开发模式,没有选过应用商店,相关方面就完全不懂了。
----------------------------------------------
Bye bye DDRFAN...
|
作者: |
|
2021/11/22 21:02:55 |
7楼: |
多谢 ddrfan。
----------------------------------------------
-
|
作者: |
janker (janker) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2021/11/26 23:57:56 |
8楼: |
多谢分享
----------------------------------------------
-
|
作者: |
|
2021/11/28 12:15:44 |
9楼: |
每次Android或IOS改版,IDE就要随着改版,这和魔兽世界改版,插件也一样要改版的意思是一样的。
----------------------------------------------
-
|
作者: |
|
2021/11/28 14:01:32 |
10楼: |
关于: 第一步. 安装Delphi11时,安卓SDK未自动安装。
没必须按楼主这么烦琐
Manage Platforms... 补装就可以搞定
Manage Platforms 在菜单 Tools 下, 在 Welcome 欢迎页上也有
----------------------------------------------
我84砖家
|
作者: |
|
2021/11/29 0:07:05 |
11楼: |
@sczhyq 不是我忘记装,安装时我选了的,但是目录里没有SDK内容。 再进Manage Platforms里面看到是已经选中的状态。
很奇怪。
不过确实不用自己去下SDK,因为目录虽然没有SDK,但是有commandlinetools。 就是那个sdkmanager.bat,可以管理SDK,NDK。
----------------------------------------------
Bye bye DDRFAN...
|
作者: |
|
2021/11/29 10:21:27 |
12楼: |
哪里去下载完整的 D11 ?
----------------------------------------------
-
|
作者: |
|
2021/11/30 18:06:21 |
13楼: |
altd.embarcadero.com?
----------------------------------------------
-
|
作者: |
|
2021/11/30 22:44:27 |
14楼: |
当然官网链接下载啊,这样比较安全。
----------------------------------------------
Bye bye DDRFAN...
|
作者: |
|
2022/1/1 0:06:09 |
15楼: |
好几天了,Delphi11还是没有安装好,安装上新建一个空壳程序,在手机和雷电模拟器中都显示停止运行。手机是安卓11系统。无语啊,有安装好的说一下详细配置过程吗?我的D11没有 带图形的sdkmanager啊
----------------------------------------------
-
|
|