浏览论坛看到关于安卓上架的讨论,就试了一下自己以前试着玩的项目。 每次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,会报权限不足。
盒子上转贴过来的,原文地址:
http://bbs.2ccc.com/topic.asp?topicid=621191
|
请发表评论