为什么 xamarin 将哈希附加为命名空间?
Why is xamarin appending a hash as a namespace?
运行 aapt 针对我的 apk,我看到有些东西在我的 activity 名称前面附加了一个散列,我通常希望在其中看到我的命名空间。这是 aapt 输出...
C:\Program Files (x86)\Android\android-sdk\build-tools.0.1>aapt dump badging c:\base.apk
package: name='fr.company.DematAEAT_Android' versionCode='1' versionName='1.0' platformBuildVersionName='4.0.4-1406430'
install-location:'auto'
sdkVersion:'11'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
application-label:'DematAEAT_Android'
application-icon-160:'res/drawable/icon.png'
application: label='DematAEAT_Android' icon='res/drawable/icon.png'
application-debuggable
launchable-activity: name='md5abda05033ab0415fc7a776c5d9734c74.MainActivity' label='DematAEAT_Android' icon='res/drawable/icon.png'
feature-group: label=''
uses-feature: name='android.hardware.touchscreen'
uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps'
main
other-activities
other-receivers
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--'
densities: '160'
native-code: 'arm64-v8a' 'armeabi' 'armeabi-v7a' 'x86' 'x86_64'
问题出在开始 "launchable-activity" 的行上。如果我的 activity 被埋在一个长长的、虚构的、我希望经常更改的命名空间中,我该如何创建指向我的意图?
这是在最近的 Xamarin.Android 版本中添加的内容,我猜也在更新日志中宣布以防止名称冲突。
您可以通过使用 RegiterAttribute
或在 ActivityAttribute
:
中强制使用名称来规避此问题
[Register("myNamespace.ActivityName")]
[Activity()]
public class MyActivity : Activity {...}
或
[Activity(Name = "myNamespace.ActivityName")]
public class MyActivity : Activity {...}
运行 aapt 针对我的 apk,我看到有些东西在我的 activity 名称前面附加了一个散列,我通常希望在其中看到我的命名空间。这是 aapt 输出...
C:\Program Files (x86)\Android\android-sdk\build-tools.0.1>aapt dump badging c:\base.apk
package: name='fr.company.DematAEAT_Android' versionCode='1' versionName='1.0' platformBuildVersionName='4.0.4-1406430'
install-location:'auto'
sdkVersion:'11'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
application-label:'DematAEAT_Android'
application-icon-160:'res/drawable/icon.png'
application: label='DematAEAT_Android' icon='res/drawable/icon.png'
application-debuggable
launchable-activity: name='md5abda05033ab0415fc7a776c5d9734c74.MainActivity' label='DematAEAT_Android' icon='res/drawable/icon.png'
feature-group: label=''
uses-feature: name='android.hardware.touchscreen'
uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps'
main
other-activities
other-receivers
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--'
densities: '160'
native-code: 'arm64-v8a' 'armeabi' 'armeabi-v7a' 'x86' 'x86_64'
问题出在开始 "launchable-activity" 的行上。如果我的 activity 被埋在一个长长的、虚构的、我希望经常更改的命名空间中,我该如何创建指向我的意图?
这是在最近的 Xamarin.Android 版本中添加的内容,我猜也在更新日志中宣布以防止名称冲突。
您可以通过使用 RegiterAttribute
或在 ActivityAttribute
:
[Register("myNamespace.ActivityName")]
[Activity()]
public class MyActivity : Activity {...}
或
[Activity(Name = "myNamespace.ActivityName")]
public class MyActivity : Activity {...}