Android 13 DreamCamera2在Android studio中运行

1.将服务器中DreamCamera2代码复制到本地电脑
s_unisoc_22a\vendor\sprd\platform\packages\apps\DreamCamera2

2.下载build.gradle对应版本Android Studio 4.1.1
下载地址:https://developer.android.google.cn/studio/archive

3.用Android Studio 4.1.1打开DreamCamera2项目,如出现gradle无法下载的情况,请自备梯子
File > Open… > DreamCamera2 > New Window > OK > New Window

4.连接平板电脑,点击Run “DreamCamera2”

5.出现Duplicate resources报错,报错文件为资源key同名冲突,注释一个即可
资源文件一:res\values\dream_camera_arrays_photo_part.xml
资源文件二:res\values\dream_camera_arrays_video_part.xml
同名key为:pref_camera_filter_display_key_array
对比发现同名key对应内容也一致,因些注释上述两个资源文件中的一个pref_camera_filter_display_key_array即可
这里我们注释dream_camera_arrays_video_part.xml中的pref_camera_filter_display_key_array

6.再次点击Run “DreamCamera2”

7.出现依赖缺失报错如下:
Transform’s input file does not exist: …\DreamCamera2\studio_libs\android-ex-camera2-utils.jar

8.去android12源码out目录使用find out -name "android-ex-camera2-utils.jar"可快速查找到该文件所在位置
out/soong/.intermediates/frameworks/ex/camera2/utils/android-ex-camera2-utils/android_common/javac/android-ex-camera2-utils.jar
out/soong/.intermediates/frameworks/ex/camera2/utils/android-ex-camera2-utils/android_common/javac/android-ex-camera2-utils.jar.rsp
out/soong/.intermediates/frameworks/ex/camera2/utils/android-ex-camera2-utils/android_common/turbine/android-ex-camera2-utils.jar
out/soong/.intermediates/frameworks/ex/camera2/utils/android-ex-camera2-utils/android_common/turbine/android-ex-camera2-utils.jar.rsp
out/soong/.intermediates/frameworks/ex/camera2/utils/android-ex-camera2-utils/android_common/turbine-combined/android-ex-camera2-utils.jar
这里我们使用javac/android-ex-camera2-utils.jar文件,并将其放入编译报错所在路径studio_libs中

9.再次点击Run “DreamCamera2”

10.出现类缺失报错如下:
错误: 找不到符号
符号: 类 SystemProperties;
位置: 程序包 android.os
此类为framework.jar中的类,这里我们他用find out -name “framework-minus-apex.jar”
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/aligned/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/combined/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/dex/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/hiddenapi/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/hiddenapi/unaligned/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/jarjar/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/turbine/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/turbine/framework-minus-apex.jar.rsp
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/turbine-combined/framework-minus-apex.jar
out/soong/.intermediates/frameworks/base/framework-minus-apex/android_common/turbine-jarjar/framework-minus-apex.jar
这里的们选一个文件最大的combined/framework-minus-apex.jar,并将其放入build.gradle文件中描述的目录,并重命名为framework.jar
options.compilerArgs.add(“-Xbootclasspath/p:${ANDROID_TOP}/unisoc_framework/framework.jar”)

11.再次点击Run “DreamCamera2”

12.出现已有软件版本号更新报错:The device already has a newer version of this application.
通过下面命令可以监控打开app的包名
C:\Users\WJS>adb shell am monitor
Monitoring activity manager… available commands:
(q)uit: finish monitoring
** Activity starting: com.android.camera2

通过包名获取apk安装位置
C:\Users\WJS>adb shell pm path com.android.camera2
package:/system_ext/app/DreamCamera2/DreamCamera2.apk

将apk下载到电脑上
C:\Users\WJS>adb pull /system_ext/app/DreamCamera2/DreamCamera2.apk .
/system_ext/app/DreamCamera2/DreamCamera2.apk: 1 file pulled, 0 skipped. 32.6 MB/s (7698606 bytes in 0.225s)

将apk拖入Android Studio中进行反编译可获取到其:
android:versionCode=“20002000”
android:versionName=“2.0.002”
将上述参数写入build.gradle中,同时点击Sync Now

11.再次点击Run “DreamCamera2”

12.签名不一致报错:The device already has an application with the same package but a different signature.
jks签名文件生成方法:
openssl pkcs8 -inform DER -nocrypt -in “platform.pk8” -out “key”
openssl pkcs12 -export -in “platform.x509.pem” -inkey “key” -out “p12” -password pass:123456 -name platform
openssl x509 -noout -fingerprint -in “platform.x509.pem”
keytool -importkeystore -deststorepass 123456 -destkeystore “platform.jks” -srckeystore “p12” -srcstoretype PKCS12 -srcstorepass 123456

platform.pk8和platform.x509.pem可以在build\target\product\security(debug签名)或者vendor\sprd\release\apk_key(release签名)找到
将生成的jks签名文件放入DreamCamera2/key目录中

在build.gradle中android节点下添加如下内容:
android {
signingConfigs {
bnd {
storeFile file(‘key/bnd/platform.jks’)
storePassword ‘123456’
keyPassword ‘123456’
keyAlias ‘platform’
}
}

buildTypes {

debug {

signingConfig signingConfigs.bnd
}
}
}

完成后点击Sync Now

13.再次点击Run “DreamCamera2”, 成功使用Android Studio安装DreamCamera2到平板电脑上,并支持实时调试

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

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

相关文章

IS-IS的LSP分片扩展

原理 IS-IS通过泛洪LSP来宣告链路状态信息,由于一个LSP能够承载的信息量有限,IS-IS将对LSP进行分片。每个LSP分片由产生该LSP的结点或伪结点的SystemID、PseudnodeID(普通LSP中该值为0,Pseudonode LSP中该值为非0)、LSPNumber(LSP分片号)组合起来唯一标识,由于LSPNumb…

【大数据安全】数据管理安全安全分析隐私保护

目录 一、数据管理安全 (一)数据溯源 (二)数字水印 (三)策略管理 (四)完整性保护 (五)数据脱敏 二、安全分析 (一)大数据安全…

【昕宝爸爸小模块】日志系列之什么是分布式日志系统

➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你👍点赞、🗂️收藏、加❤️关注哦。 本文章CSDN首发,欢迎转载,要注明出处哦! 先感谢优秀的你能认真的看完本文&…

如何轻松玩转Java函数调用:借助FuncGPT,告别繁琐调试

作为一名开发者,你是否曾经在开源社区的广袤海洋中探寻所需的代码,却发现这些代码并不符合你的实际需求?你是否曾花费大量时间测试和调试,却收效甚微?现在,有了FuncGPT(慧函数)&…

【Linux】环境基础开发工具的使用(一)

前言:在此之前我们学习了一些Linux的权限,今天我们进一步学习Linux下开发工具的使用。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:Linux的深度刨析 👈 💯代码仓库:卫卫周大胖的学习日记…

关于谷歌新版调试用具(Chrome Dev Tool ),网络选项(chrome-network)默认开启下拉模式的设置

今天在使用谷歌浏览器进行调试的时候,打开调试工具网络选项发现过滤不同模式的选项卡不见了,转而变成一个下拉式选项,如下图 这样一来使得切换不同类型查看的时候变得非常不方便,然后网上查了一下发现这个功能谷歌在很早版本就已…

前后端项目

文章目录 1.需求2.项目搭建2.1项目结构图2.2构建聚合工程2.2.1 zx-parent父工程2.2.2 zx-framework父工程2.2.2.1 zx-common工程2.2.2.2 zx-mybatisplus工程2.2.3 如上,同理创建其他父子工程2.3准备sql3.用户登录3.1 修改pom-依赖其他Module3.2 封装User1.需求 在线学习平台 …

笔记本电脑Win11重装系统教程

在笔记本电脑Win11操作过程中,用户如果遇到很严重的系统问题,就可以重新正常的Win11系统,快速解决Win11系统问题。但是,部分新手用户不知道不知道如何操作才能给Win11笔记本电脑重装系统?以下小编分享笔记本电脑Win11重…

LaTeX教程(003)-LaTeX文档结构(03)

LaTeX教程(003)- LaTeX \LaTeX LATE​X文档结构(03) 2.2 章节划分命令 在前面的内容中,我们讨论了文档的最顶层的区块划分,即front matter、main matter和back matter。这一节中,我们讨论如何在这些区块内部,使用章节划分命令对…

《Pandas 简易速速上手小册》第6章:Pandas 时间序列分析(2024 最新版)

文章目录 6.1 时间序列数据基础6.1.1 基础知识6.1.2 重点案例:股票市场分析6.1.3 拓展案例一:温度变化分析6.1.4 拓展案例二:电商平台日销售额分析 6.2 日期与时间功能6.2.1 基础知识6.2.2 重点案例:活动日志分析6.2.3 拓展案例一…

Nodejs基于Vue.js的网上团购系统86593

该系统将采用B/S结构模式,使用Vue和ElementUI框架搭建前端页面,后端使用Nodejs来搭建服务器,并使用MySQL,通过axios完成前后端的交互 运行软件:vscode 前端nodejsvueElementUi 语言 node.js 框架:Express/koa 前端:V…

工厂方法入门

#include <iostream>// 定义抽象交通工具的基类 // 产品的接口 class Transport { public:virtual~Transport() {}; // 虚的析构函数virtual void deliver() const 0; // 纯虚函数 };// 定义卡车交通工具&#xff0c;继承交通工具 // 产品 A class Truck :public Trans…

mysql8.0-cnf文件

一、my.cnf 文件 注意&#xff1a;根据自己环境进行参数的调整。 [client] port 3307 socket /data/mysql8.0.35/3307/tmp/mysql.sock[mysqldump] quick max_allowed_packet 64M[mysql] prompt"\u\h: \R:\m:\s [\d]> " no-auto-rehash[mysqld] ###### BASIC…

移动机器人激光SLAM导航(文章链接汇总)

移动机器人激光SLAM导航&#xff08;一&#xff09;&#xff1a;理论基础篇 移动机器人激光SLAM导航&#xff08;二&#xff09;&#xff1a;运动控制与传感器篇 移动机器人激光SLAM导航&#xff08;三&#xff09;&#xff1a;Hector & GMapping SLAM 篇 持续更新中…

JVM性能分析工具——Arthas及火焰图的使用

Arthas的使用 Arthas常用命令Arthas的安装Linux压测工具Apache Bench安装火焰图的使用火焰图如何分析火焰图的互动 Arthas常用命令 help &#xff1a;查看所有命令dashboard &#xff1a;仪表板&#xff0c;查看线程的CPU信息等heapdump &#xff1a;不同类对象占用内存比重&a…

Springboot 校验工具类

校验工具类 这个实现逻辑很简单,就是调用string的正则表达式 我这里的代码要导入糊涂工具包 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.17</version> </dependency>import…

MySQL数据库基础第三篇(约束)

文章目录 一、约束概述二、约束演示1.演示代码2.读出结果 三、外键约束1.创建外键2.删除更新外键 作为软件工程师和数据库管理员&#xff0c;我们经常需要操作和管理数据库。对于数据库中的信息完整性和准确性的确保&#xff0c;以及对数据质量的提升&#xff0c;数据库中的约束…

2023年09月CCF-GESP编程能力等级认证Python编程二级真题解析

一、单选题(共15题,共30分) 第1题 我国第一台大型通用电子计算机使用的逻辑部件是 ( )。 A:集成电路 B:大规模集成电路 C:晶体管 D:电子管 答案:D 第2题 下列流程图的输出结果是( )? A:5 12 B:12 5 C:5 5 D:12 12 答案:B 第3题 如果要找出整数 a …

2024/1/31 备战蓝桥杯 3-2 栈

目录 后缀表达式 P1449 后缀表达式 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 栈 P1044 [NOIP2003 普及组] 栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 后缀表达式 P1449 后缀表达式 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;模拟stl的…

【分布式技术专题】Guava RateLimiter 针对于限流器的入门到实战(含源码分析介绍)

Guava RateLimiter 针对于限流器的入门到实战 限流器的思路和算法漏桶算法令牌算法 RateLimiter限流器RateLimiter的作用create方法acquire方法tryAcquire方法 详细分析参数抛出异常参数抛出异常实践案例第1次获取10个令牌第2次获取1个令牌第3次获取10个令牌 资料参考 限流器的…