Can I integrate leak canary to AOSP build system? - android-source

Can i add leak canary aar to Android.mk dependency and use leak canary as part of system app

You should try using android_library_import in Android.bp instead. Check some documentation in Soong Modules Reference.
https://source.android.com/docs/setup/build#modules

Related

Error in resolving package dependency swiftUI project

Dependencies could not be resolved because root depends on 'googleappmeasurement' 9.0.0.
'googleappmeasurement' 9.0.0 cannot be used because 'googleappmeasurement' 9.0.0 depends on 'nanopb' 2.30908.0..<2.30909.0 and root depends on 'nanopb' 2.30909.0..<2.30910.0.
that is my error message, can anyone help?
I am using SDK version 8.9.1 and everything working fine, If you executed the Resolve Package Versions and still not working. you can try the command Reset Package Caches from Project navigator scroll down right click on Package Dependencies then choose the command. that will clear all caches for all installed packages then re-install them again. if that not working i suggest you to use version 8.9.1 till Firebase fix the issue.
I have discovered the problem has been answered here. It occurs when importing Firebase using Swift Package Manager and setting to track "master" instead of a specific release version.
Got same error and solved, check attached image, this most likely packages usage misconfiguration, as follows:
1-perhaps you are working on a branch with different Xcode version than the other developer who installed the package.
2-Perhaps some package is conflicted being used twice, by so some dependencies are duplicated.
Well to solve this you gotta try either to match the Xcode version used while installing the packages, or to remove the package that makes errors(like Firebase here), and try adding that package again your side.

Audioplayer plugins using a deprecated version of the android embedding

I want to add Audioplayer package for my xylophone app but on running it, I get this following error:
The plugins audioplayers, path_provider use a deprecated version of
the Android embedding. To avoid unexpected runtime failures, or future
build failures, try to see if these plugins support the Android V2
embedding. Otherwise, consider removing them since a future release of
Flutter will remove these deprecated APIs. If you are plugin author,
take a look at the docs for migrating the plugin to the V2 embedding:
https://flutter.dev/go/android-plugin-migration.
I was having the same problem while using audioplayers library. So, after looking up on the internet I found out that I was using the old version of the dependency of audio player. So, I suggest you to check for the latest version of audioplayers library from https://pub.dev/packages/audioplayers, and add it in your dependency as
dependencies:
audioplayers: ^0.20.1
(For me it was 0.20.1). You can check for latest to avoid error. Hope it works for you.

Illegal Instruction 4 error while running the unit tests on Xcode

I recently updated to Xcode 12.3 and did the workaround to run the carthage dependencies. The build is fine but when I run the tests, I get the Illegal Instruction 4 error. I assume that the arm architecture issue causes that issue. I use Quick and Nimble coming from carthage and these are used in testing. I have tried setting the excluding archs and validate archs to yes but none of them worked.
I cannot move the libraries from carthage to pods or spm because there are so many configurations in the libraries. Updating to a new Xcode version is such a pain especially if you are using carthage.
UPDATE:
I downloaded the carthage version of 0.37 and implemented the xcframeworks into the project. To run the dependencies for xcframeworks, I run the following command:
carthage bootstrap --use-xcframeworks --no-use-binaries --platform ios
If you can use Carthage 0.37.0 and are able to use XCFrameworks, then this answer might be valuable for you 👍 In this vesion they added support for XCFrameworks and I find it quite nice to use. Especially since this popular workaround can finally be removed again.

App crashes on startup for firebase_admob dependency 0.8.0+4

I was using fiirebase_admob dependency 0.5.5 which was working great but when I went to release the apk version by flutter build apk --release it gave me error so I had to change the dependency from 0.5.5 to 0.8.0+4 and add API 'com.google.firebase:firebase-ads:16.0.1' in dependency of build>gradle this gave me the app-release.apk but causing app is crashing on startup. So, what should I change my dependency to get the app running smoothly?.
look for the file project.properties and modify the dependencies there with the versions that the error marks, the file build> gradle is modified each time the packager executes, so it does not keep them.

How to import iOS native framework into Flutter?

I want to contribute in this Flutter_blue plugin project adding the functionalities for native iOS using Objective C framework CoreBluetooth. How do I import the framework in to the library so I can start using its APIs?
Update:
CoreBluetooth is not suitable for Flutter project, because it's not a cocoapod dependency. So what I did what, go to cocopods website and look for other bluetooth dependencies from there. You can also find instructions of how to install a dependency there. For me, I made added pod <depdencyname> to <plugin-project>/example/ios/Podfile in the plugin project. Then added dependency: <dependencyname> to the in <plugin-project>/ios/pubspec
I had the same problem for a few time and found a solution by adding this lines to your podspec file at your iOS/ folder in your plugin dir:
s.preserve_paths = 'yourframework.framework'
s.xcconfig = { 'OTHER_LDFLAGS' => '-framework yourframework' }
s.vendored_frameworks = 'yourframework.framework'
Then, on your Flutter project, in the iOS folder, just run pod update on terminal so it can fetch the new dependencies.
You can find the full issue open by me with this problem here.
If you're looking to add a CocoaPod dependency to the iOS "half" of a Flutter plugin, I believe the correct way to do so is to update the podspec file in the /ios folder of the plugin source. I recently did some work on the AdMob plugin, for example, and its podspec lists the SDKs for Firebase and Google Mobile Ads:
https://github.com/flutter/plugins/blob/master/packages/firebase_admob/ios/firebase_admob.podspec
And that's how they get included in the build.