8000 GitHub - siren-ocean/Camera2: Make Camera2 of Android 11 compile in Android Studio(使Camera2能在Android Studio上单编运行)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Make Camera2 of Android 11 compile in Android Studio(使Camera2能在Android Studio上单编运行)

Notifications You must be signed in to change notification settings

siren-ocean/Camera2

Repository files navigation

Camera2 from android-11.0.0_r10

Camera2脱离源码在Android Studiod的编译

惯例说明

  • 不试图改变项目本身的目录结构
  • 通过添加额外的配置和依赖构建Gradle环境支持
  • 会使用脚本移除一些AS不支持的属性和字段,然后利用git本地忽略
  • 由于出现两张图片冲突,并且gradle暂不支持sourceSets.res移除操作,所以仍然使用脚本做忽略移除(ic_refocus_normal.png 和 ic_refocus_disabled.png)
  • 因为使用push的方式进行安装和覆盖,libjni_tinyplanet和libjni_jpegutil两块暂不参与编译
    PS:如果希望参与编译,可以引入对应的so文件,或者gradle配置ndkBuild的Android.mk路径,并确保安装了ninja

执行步骤

第一步:运行在Filter上的主函数,执行过滤任务

第二步:执行Android Studio上Build APK的操作, 然后将apk推送到设备上Camera2所在的目录

adb push Camera2.apk /system/priv-app/Camera2/

adb shell killall com.android.camera2
如果Camera2不能正常起来,则需要重启一下设备
adb reboot

构建步骤

Step1:引入静态依赖

@guava.jar:
// AOSP/android-11/out/soong/.intermediates/external/guava/guava/android_common/turbine-combined/guava.jar
implementation files('libs/guava.jar')

avatar

@android-ex-camera2-portability.jar:
// AOSP/android-11/out/soong/.intermediates/frameworks/ex/camera2/portability/android-ex-camera2-portability/android_common/javac/android-ex-camera2-portability.jar
implementation files('libs/android-ex-camera2-portability.jar')

avatar

@xmp_toolkit.jar:
// AOSP/android-11/out/soong/.intermediates/external/xmp_toolkit/XMPCore/xmp_toolkit/android_common/javac/xmp_toolkit.jar
implementation files('libs/xmp_toolkit.jar')

avatar

生成platform.keystore默认签名

在AOSP/android-11/build/target/product/security路径下找到签名证书,并使用 keytool-importkeypair 生成keystore, 执行如下命令:

./keytool-importkeypair -k platform.keystore -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias platform

并将以下代码添加到gradle配置中:

    signingConfigs {
        platform {
            storeFile file("platform.keystore")
            storePassword '123456'
            keyAlias 'platform'
            keyPassword '123456'
        }
    }

    buildTypes {
        release {
            debuggable false
            minifyEnabled false
            signingConfig signingConfigs.platform
        }

        debug {
            debuggable true
            minifyEnabled false
            signingConfig signingConfigs.platform
        }
    }

PS:

查看被忽略的文件列表
git ls-files -v | grep '^h\ '
忽略和还原单个文件
git update-index --assume-unchanged $path
git update-index --no-assume-unchanged $path
还原全部被忽略的文件
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged 

关联项目

About

Make Camera2 of Android 11 compile in Android Studio(使Camera2能在Android Studio上单编运行)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0